Подтвердить что ты не робот

Название цвета цвета для SolidColorBrush

Как я могу отличить название цвета до типа SolidColorBrush? Я имею в виду слово, то есть "Желтый".

SolidColorBrush scb =  ??? ; // "Yellow" 

Спасибо!

4b9b3361

Ответ 1

Для получения цвета используйте:

Color col=(Color)ColorConverter.ConvertFromString("Red"); 

Затем создайте кисть:

Brush brush=new SolidColorBrush(col);

или если вы можете использовать Colour-enum

Brush brush=new SolidColorBrush(Colors.Red);

Ответ 2

Если вы уже знаете название цвета, вы можете получить кисть непосредственно из Brushes:

SolidColorBrush scb = Brushes.Yellow; //scb seems a bit redundant at this point...

В коде вы обычно не должны использовать преобразователи, если у вас нет строки, значение которой вы не знаете.

Ответ 3

Вы не можете отбрасывать друг друга. Это просто разные понятия. Кисть - это кисть, а цвет - это, ну, цвет. Просто потому, что кисть "рисует" в определенном цвете, не означает, что вы можете обменивать друг на друга.

Однако вы можете создать SolidColorBrush с определенным цветом, например:

 var brush = new SolidColorBrush(Color.Yellow);

Ответ 4

// Yellow is green + red
SolidColorBrush yellowBrush = new SolidColorBrush(System.Windows.Media.Color.FromRgb(255, 255, 0));