c# - 如何在 C# 中将字符串转换为 SolidColorBrush?

标签 c# wpf string solidcolorbrush

<分区>

我正在尝试将 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);

关于c# - 如何在 C# 中将字符串转换为 SolidColorBrush?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27303184/

相关文章:

c# - Asp中继器控件

c# - 在 C# 中,我是否必须执行显式向上转换?

wpf - 为什么 XAML 被编译成 BAML 而不是 C#

c# - 在 PLINQ 中绑定(bind)源线程

c# - 纯在 XAML 中定义绑定(bind)时,源变量是否可以在后面的代码中访问?

当列宽 ="Auto"时,WPF GridSplitter 出现奇怪的行为

java - 根据括号和下一个字符分割字符串

java - 带双引号和变量的字符串

php - 从数据库中删除空格和换行符

c# - 为什么我在迭代集合时不应该修改它