Привести имя цвета к SolidColorBrush - PullRequest
19 голосов
/ 14 февраля 2012

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

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

Спасибо!

Ответы [ 4 ]

32 голосов
/ 14 февраля 2012

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

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

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

Brush brush=new SolidColorBrush(col);

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

Brush brush=new SolidColorBrush(Colors.Red);
12 голосов
/ 14 февраля 2012

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

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

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

7 голосов
/ 14 февраля 2012

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

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

 var brush = new SolidColorBrush(Color.Yellow);
3 голосов
/ 14 февраля 2012
// Yellow is green + red
SolidColorBrush yellowBrush = new SolidColorBrush(System.Windows.Media.Color.FromRgb(255, 255, 0));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...