How can I get all standard colors from color classes or brushes

How can I get all standard colors from color classes or brushes?

For example, a thing like:

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

If you only need color names, you can use LINQ:

 var colorNames = typeof (Brushes)
            .GetProperties(BindingFlags.Static | BindingFlags.Public)
            .Select(x => x.Name);
+3
source
var colors = Enum.GetValues(typeof(KnownColor)).Cast<KnownColor>().ToList();

var color = Color.FromKnownColor(colors[0]); //for ex.

or directly

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

All Articles