How to convert string to SolidColorBrush in C#?
Я пытаюсь преобразовать string
к SolidColorBrush
в C#. Код, который я использую:
arrColors[arrColors.Length - 1] =
(SolidColorBrush)new BrushConverter().ConvertFromString(sLine);
where sLine is a string read from a text file. Например, sLine
might be "Black".
This code gives me a FormatException
,
2 ответа
Предполагая, что все ваши кисти имеют сплошные цвета, вы можете создать Color из строки следующим образом:
Color color = (Color)ColorConverter.ConvertFromString(sLine);
Тогда вы могли бы создать SolidColorBrush
из этого цвета, вот так:
SolidColorBrush brush = new SolidColorBrush(color);
РЕДАКТИРОВАТЬ: Если преобразуется строка на английском языке, но текущая культура не, вы можете использовать ConvertFromInvariantString
вместо этого, вот так:
ColorConverter converter = new ColorConverter();
Color color = (Color)converter.ConvertFromInvariantString(sLine);
Попробуй это:
var color = (Color)ColorConverter.ConvertFromString(sLine);
var brush = new SolidColorBrush(color);