在wpf中加载包含所有系统颜色的组合框

发布于 2024-11-29 07:53:37 字数 561 浏览 3 评论 0原文

我创建了组合框,我想加载所有标准颜色。我想在 xaml.cs 文件中而不是直接的 XAML 中执行此操作。我发现了很多在 .NET 的 C# 中执行此操作的示例,但在 WPF 中却没有。

我发现以下在 .NET 中运行的代码,似乎 prop.PropertyType.FullName 永远不等于 "System.Drawing.Color") 我通过它进行了调试,并且唯一的System.Reflection.PropertyInfo 等于 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);
}

如有任何建议或意见,我们将不胜感激。

谢谢!

I have created combo box that I would like to load with all of the standard colors. I would like to do this in the xaml.cs file rather than the straight XAML. I have found many examples to do this in the C# for .NET but not WPF.

I found the following code that runs in .NET and it seems that prop.PropertyType.FullName never equals "System.Drawing.Color") I debugged through it and the only value that System.Reflection.PropertyInfo eqauls that makes sense is System.Windows.Media.ColorContext. But when i tried this it did not return any colors.

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

Any Suggestions or comments are appreciated.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

独闯女儿国 2024-12-06 07:53:37

这对我有用。尝试调试。您可能会获得颜色,但问题在于添加项目。

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

        }

This worked for me. Try a Debug. You may be getting the colors but the problem is with is add items.

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

        }
葬シ愛 2024-12-06 07:53:37

您可以通过 ResourceDictionary 导入样式

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

并应用组合框的样式。

You can import the style via a ResourceDictionary

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

And apply the style of the combo box.

孤单情人 2024-12-06 07:53:37
  1. 您的代码获取的是 Color 属性,而不是 Colors
  2. 该类中的颜色类型为 System.Windows.Media.Color (而不是 <代码>System.Drawing.Color)
  1. Your code gets the properties of Color and not Colors
  2. The colors in that class are of type System.Windows.Media.Color (instead of System.Drawing.Color)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文