Как я могу кастовать имя цвета до SolidColorBrush типа?Я имею в виду слово "желтый".
SolidColorBrush
SolidColorBrush scb = ??? ; // "Yellow"
Спасибо!
Для получения цвета используйте:
Color col=(Color)ColorConverter.ConvertFromString("Red");
Затем создайте свою кисть:
Brush brush=new SolidColorBrush(col);
или, если вы можете использовать Color-enum
Brush brush=new SolidColorBrush(Colors.Red);
Если вы уже знаете название цвета, вы можете получить кисть непосредственно от Brushes:
Brushes
SolidColorBrush scb = Brushes.Yellow; //scb seems a bit redundant at this point...
В коде вы обычно должны , а не используйте конвертеры, если у вас нет строки, значение которой вы не знаете.
Вы не можете разыгрывать один за другим. Это просто разные понятия. Кисть - это кисть, а цвет - это цвет. То, что кисть «рисует» определенным цветом, не означает, что вы можете поменять одно на другое.
Однако вы можете создать SolidColorBrush с определенным цветом, например:
var brush = new SolidColorBrush(Color.Yellow);
// Yellow is green + red SolidColorBrush yellowBrush = new SolidColorBrush(System.Windows.Media.Color.FromRgb(255, 255, 0));