我想在Brushes
中创建现有WPF
的数组,以便我可以循环它们并在组合框中显示列表。我怎么能这样做?
我有类似的东西,但它不起作用,因为Brushes
不是数组。
string[] brushes = Brushes;
foreach (string s in brushes)
{
comboBox.Items.Add(s);
}
答案 0 :(得分:11)
您可以使用反射。您可以使用匿名类型来保存名称和画笔。
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);