如何从WPF画笔获取数组?

时间:2012-12-26 23:48:39

标签: c# wpf arrays foreach brush

我想在Brushes中创建现有WPF的数组,以便我可以循环它们并在组合框中显示列表。我怎么能这样做?

我有类似的东西,但它不起作用,因为Brushes不是数组。

string[] brushes = Brushes;

foreach (string s in brushes)
{
    comboBox.Items.Add(s);
}

1 个答案:

答案 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);