如何投射 颜色名称到SolidColorBrush
类型?我的意思是“黄色”这个词。
SolidColorBrush scb = ??? ; // "Yellow"
谢谢!
答案 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));