繁体   English   中英

在 wpf 中加载所有系统 colors 的组合框

[英]Loading a combo box with all system colors in wpf

我已经创建了我想加载所有标准 colors 的组合框。 我想在 xaml.cs 文件中执行此操作,而不是直接的 XAML。 我在 C# 中找到了许多示例,用于 .NET 但不是 WPF。

我发现以下代码在 .NET 中运行,似乎prop.PropertyType.FullName永远不等于"System.Drawing.Color")我通过它进行了调试,并且 System.Reflection.PropertyInfo 唯一有意义的值是 System.Windows .Media.ColorContext。 但是当我尝试这个时,它没有返回任何 colors。

foreach (System.Reflection.PropertyInfo prop in typeof(Color).GetProperties())
{
if (prop.PropertyType.FullName == "System.Drawing.Color")
comboBox1.Items.Add(prop.Name);
}

任何建议或意见表示赞赏。

谢谢!

这对我有用。 尝试调试。 您可能会得到 colors 但问题在于添加项目。

        foreach (System.Reflection.PropertyInfo info in typeof(Colors).GetProperties())
        {
            Debug.WriteLine(info.Name);

        }

您可以通过ResourceDictionary导入样式

<ResourceDictionary Source="pack://application:,,,/PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml" />

并应用组合框的样式。

  1. 您的代码获得Color的属性,而不是Colors
  2. colors 中的 class 是System.Windows.Media.Color类型(而不是System.Drawing.Color

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM