C# 如何从WPF笔刷获取数组?
我想在C# 如何从WPF笔刷获取数组?,c#,wpf,arrays,foreach,brush,C#,Wpf,Arrays,Foreach,Brush,我想在WPF中创建一个现有笔刷的数组,这样我就可以循环它们并在组合框中显示列表。我该怎么做 我有类似的东西,但它不会工作,因为画笔不是数组 string[] brushes = Brushes; foreach (string s in brushes) { comboBox.Items.Add(s); } 你可以使用反射。您可以使用匿名类型保存名称和笔刷 var values = typeof (Brushes).GetProperties(). Select(p =>
WPF
中创建一个现有笔刷的数组,这样我就可以循环它们并在组合框中显示列表。我该怎么做
我有类似的东西,但它不会工作,因为画笔不是数组
string[] brushes = Brushes;
foreach (string s in brushes)
{
comboBox.Items.Add(s);
}
你可以使用反射。您可以使用匿名类型保存名称和笔刷
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(画笔).GetProperties()
中提取多个值的数组,例如Name
和hexadecimal
的颜色,如黄色、#ffffff 00
。