我创建了一个组合框,我想加载所有标准颜色。我想在xaml.cs文件中而不是直接的XAML中执行此操作。我在C#for .NET中找到了很多这样的例子,但没有找到WPF。
我发现以下代码在.NET中运行,似乎prop.PropertyType.FullName
永远不等于"System.Drawing.Color")
我通过它进行了调试,而System.Reflection.PropertyInfo eqauls唯一有意义的值是System。 Windows.Media.ColorContext。但是当我尝试这个时它并没有返回任何颜色。
foreach (System.Reflection.PropertyInfo prop in typeof(Color).GetProperties())
{
if (prop.PropertyType.FullName == "System.Drawing.Color")
comboBox1.Items.Add(prop.Name);
}
感谢任何建议或意见。
谢谢!
答案 0 :(得分:1)
这对我有用。尝试调试。你可能会得到颜色,但问题在于添加项目。
foreach (System.Reflection.PropertyInfo info in typeof(Colors).GetProperties())
{
Debug.WriteLine(info.Name);
}
答案 1 :(得分:0)
您可以通过ResourceDictionary
<ResourceDictionary Source="pack://application:,,,/PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml" />
并应用组合框的样式。
答案 2 :(得分:0)
Color
而不是Colors
System.Windows.Media.Color
类型(而非System.Drawing.Color
)