我正在尝试将 string
转换为 C# 中的 SolidColorBrush
。我使用的代码是:
arrColors[arrColors.Length - 1] =
(SolidColorBrush)new BrushConverter().ConvertFromString(sLine);
其中 sLine 是从文本文件中读取的字符串。例如,sLine
可能是“Black”。
这段代码给我一个FormatException
。
假设您所有的画笔都是纯色,您可以按如下方式从字符串构造颜色:
Color color = (Color)ColorConverter.ConvertFromString(sLine);
然后您可以从该颜色创建一个 SolidColorBrush
,如下所示:
SolidColorBrush brush = new SolidColorBrush(color);
编辑:如果要转换的字符串是英语但当前文化不是,您可能需要使用 ConvertFromInvariantString
代替,如下所示:
ColorConverter converter = new ColorConverter();
Color color = (Color)converter.ConvertFromInvariantString(sLine);