将颜色名称转换为SolidColorBrush

本文关键字:SolidColorBrush 转换 颜色 | 更新日期: 2023-09-27 18:24:21

如何颜色名称转换为SolidColorBrush类型?我指的是"黄色"这个词。

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

谢谢!

将颜色名称转换为SolidColorBrush

要获取颜色,请使用:

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

然后创建你的画笔:

Brush brush=new SolidColorBrush(col);

或者您是否可以使用Colors枚举

Brush brush=new SolidColorBrush(Colors.Red);

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

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

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

您不能一个强制转换为另一个。它们只是不同的概念。画笔就是画笔,颜色就是一种颜色。仅仅因为画笔"绘制"了一种特定的颜色,并不意味着你可以将一种颜色与另一种颜色互换。

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

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