我如何从颜色或画笔类中获取所有标准颜色



如何从颜色或画笔类中获取所有标准颜色?

例如,像这样的事情:

Foreach var item in  brushes
     Do something...
foreach(var color in typeof(Brushes)
                    .GetProperties(BindingFlags.Static | BindingFlags.Public))
{
    var currentColor = color.GetValue(null) as Brush;
}

如果你只想要颜色名称,那么你可以使用LINQ

 var colorNames = typeof (Brushes)
            .GetProperties(BindingFlags.Static | BindingFlags.Public)
            .Select(x => x.Name);
var colors = Enum.GetValues(typeof(KnownColor)).Cast<KnownColor>().ToList();
var color = Color.FromKnownColor(colors[0]); //for ex.

或直接

var colors = Enum.GetValues(typeof(KnownColor)).Cast<KnownColor>()
                    .Select(k => Color.FromKnownColor(k))
                    .ToList();

最新更新