将颜色名称转换为SolidColorBrush

Dev*_*per 19 c# wpf

如何 颜色名称转换SolidColorBrush类型?我的意思是"黄色"这个词.

SolidColorBrush scb =  ??? ; // "Yellow" 
Run Code Online (Sandbox Code Playgroud)

谢谢!

HCL*_*HCL 33

要获得颜色,请使用:

Color col=(Color)ColorConverter.ConvertFromString("Red"); 
Run Code Online (Sandbox Code Playgroud)

然后创建你的画笔:

Brush brush=new SolidColorBrush(col);
Run Code Online (Sandbox Code Playgroud)

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

Brush brush=new SolidColorBrush(Colors.Red);
Run Code Online (Sandbox Code Playgroud)


H.B*_*.B. 12

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

SolidColorBrush scb = Brushes.Yellow; //scb seems a bit redundant at this point...
Run Code Online (Sandbox Code Playgroud)

在代码中,除非你有一个你不知道的字符串,否则通常应该使用转换器.


Chr*_*n.K 7

你不能一个扔到另一个.它们只是不同的概念.画笔是刷子,颜色是颜色.仅仅因为画笔以特定的颜色"画",并不意味着你可以互相交换.

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

 var brush = new SolidColorBrush(Color.Yellow);
Run Code Online (Sandbox Code Playgroud)


ken*_*n2k 5

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