我正在查找返回系統顏色列表的屬性。我查看了SystemColors
和Colors
類。我無法找到只返回顏色列表的屬性。系統顏色列表屬性
我知道有一些解決方案來獲取系統顏色,但我寧願使用內置屬性。
奇怪的是,該Fonts
類有SystemFontFamilies
屬性,返回的System
Fonts
名單和Colors
不具備這樣的特性。
我正在查找返回系統顏色列表的屬性。我查看了SystemColors
和Colors
類。我無法找到只返回顏色列表的屬性。系統顏色列表屬性
我知道有一些解決方案來獲取系統顏色,但我寧願使用內置屬性。
奇怪的是,該Fonts
類有SystemFontFamilies
屬性,返回的System
Fonts
名單和Colors
不具備這樣的特性。
這取決於您在尋找什麼以及您是否有權訪問System.Drawing(例如,在Azure中不可用)。
System.Drawing.SystemColors會告訴您OS用於繪製系統部件的顏色。
的System.Drawing.SystemColors類的每個屬性是 的System.Drawing.Color結構,它是一個視窗顯示 元件的顏色。
或者你可以使用System.Drawing.KnownColor枚舉使用Enum.GetValues() Return Type的顏色列表。
由於問題已經被更新,以顯示你正在使用,那麼請參閱如何訪問顏色此refernace: https://blogs.msdn.microsoft.com/wpf/2010/11/30/systemcolors-reference/
你可以做這樣的事情,這是從我自己的一個顏色的例子之一它使用反射
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;
可能duplica [Enum.GetValues()返回類型]的te。 'Colors'枚舉可以用來給你這個數組。 然後,你可以做你想要的值。(https://stackoverflow.com/questions/1398664/enum-getvalues-return-type) – krillgar
你使用的是winform,wpf,webapp等平臺? – John
@krillgar我不認爲OP想要'System.Colors'的所有枚舉值,但默認爲窗口使用的邊界,標題欄,背景等定義的顏色。 –