系统颜色属性列表

时间:2017-08-10 13:58:28

标签: c# wpf colors

我正在寻找一个返回系统颜色列表的属性。我查看了SystemColorsColors类。我找不到一个只返回颜色列表的属性。

我知道有一些解决方案可以获得系统颜色,但我宁愿使用内置属性。

奇怪的是,Fonts类具有返回SystemFontFamilies System列表的Fonts属性,而Colors没有此类属性。

2 个答案:

答案 0 :(得分:0)

这取决于您要查找的内容以及您是否有权访问System.Drawing(例如,Azure中不可用)。

System.Drawing.SystemColors将告诉您操作系统用于绘制系统部分的颜色。

  

System.Drawing.SystemColors类的每个属性都是   System.Drawing.Color结构,是Windows显示的颜色   元件。

或者您可以使用Enum.GetValues() Return Type使用System.Drawing.KnownColor枚举颜色列表。

由于问题已更新以显示您正在使用,请参阅此参考有关如何访问颜色: https://blogs.msdn.microsoft.com/wpf/2010/11/30/systemcolors-reference/

答案 1 :(得分:0)

你可以做这样的事情,这是我自己的一个使用反射的颜色下拉控件的例子

private Dictionary<string, Color> colours = typeof(Colors)
    .GetRuntimeProperties()
    .Select(c => new
    {
        Color = (Color)c.GetValue(null),
        Name = string.Join(" ", splitCapital(c.Name))
    }).ToDictionary(x => x.Name, x => x.Color);

您还需要以下“使用”

using System.Reflection;