将颜色名称转换为SolidColorBrush

时间:2012-02-14 12:23:44

标签: c# wpf

如何投射 颜色名称SolidColorBrush类型?我的意思是“黄色”这个词。

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

谢谢!

4 个答案:

答案 0 :(得分:31)

要获得颜色,请使用:

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

然后创建你的画笔:

Brush brush=new SolidColorBrush(col);

或者如果您可以使用Colors-enum

Brush brush=new SolidColorBrush(Colors.Red);

答案 1 :(得分:12)

如果您已经知道颜色的名称,可以直接从Brushes获取画笔:

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

在代码中,您通常使用转换器,除非您有一个您不知道其值的字符串。

答案 2 :(得分:7)

你不能施放彼此。它们只是不同的概念。画笔是刷子,颜色是颜色。仅仅因为画笔以特定的颜色“画画”,并不意味着你可以互相交换。

但是,您可以创建具有特定颜色的SolidColorBrush,例如:

 var brush = new SolidColorBrush(Color.Yellow);

答案 3 :(得分:3)

// Yellow is green + red
SolidColorBrush yellowBrush = new SolidColorBrush(System.Windows.Media.Color.FromRgb(255, 255, 0));