我希望能够创建一个现有的 WPF
中 Brushes
数组,以便可以循环它们并在下拉框中显示列表。如何做到这一点?
我大概有这样的想法但是它无法工作,因为Brushes
不是一个数组。
string[] brushes = Brushes;
foreach (string s in brushes)
{
comboBox.Items.Add(s);
}
你可以使用反射(Reflection)和匿名类型(anonymous type)来同时保存名称和画刷(brush)。
var values = typeof (Brushes).GetProperties().
Select(p => new { Name = p.Name, Brush = p.GetValue(null) as Brush }).
ToArray();
var brushNames = values.Select(v => v.Name);
typeof(Brushes).GetProperties()
中提取多个值的数组,例如颜色的Name
和hexadecimal
,比如Yellow,#FFFFFF00
。 - nam