Если вам просто нужны случайные цвета, любые случайные цвета, просто используйте объект Random
, чтобы генерировать (a) значения rgb между 0 и 255.
Если вам действительно нужен именованный цвет (кисть), вы можете сохранить все предопределенные значения в таблице поиска и случайным образом сгенерировать в нее индекс. Поскольку Brushes
является классом (в отличие от `enum '), он немного хитрее случайным образом выбирает статическое свойство, но вы можете использовать отражение для этого. Сохраните все имена свойств посредством отражения в справочной таблице, а затем снова используйте отражение, чтобы получить значение свойства, соответствующее сохраненному имени.
private List<Brush> _brushes;
private void InitBrushes()
{
_brushes = new List<Brush>();
var props = typeof(Brushes).GetProperties( BindingFlags.Public | BindingFlags.Static );
foreach( var propInfo in props )
{
_brushes.Add( (Brush)propInfo.GetValue( null, null ) );
}
}
И получить случайную кисть ...
private Random _rand = new Random();
private Brush GetRandomBrush()
{
return _brushes[_rand.Next(_brushes.Count)];
}
Я надеюсь, что здесь я не допустил ошибок, я нахожусь на своем телефоне и не могу проверить это, но вы поймете общую идею.