如何将颜色代码转换为media.brush?

Ira*_*ili 39 c# wpf

我有一个矩形,我想用一种颜色填充.当我写Fill = "#FFFFFF90"它时显示一个错误:

无法将类型'string'隐式转换为'System.Windows.Media.Brush

请给我一些建议.

H.B*_*.B. 101

可以使用XAML读取系统使用的相同机制:键入转换器

var converter = new System.Windows.Media.BrushConverter();
var brush = (Brush)converter.ConvertFromString("#FFFFFF90");
Fill = brush;
Run Code Online (Sandbox Code Playgroud)

  • 好吧,最后我使用`Fill =(SolidColorBrush)新的BrushConverter().ConvertFromString("#76EB7E");`,我在另一个SO答案中找到了,这个答案非常相同!太好了! (11认同)
  • 是否有可能使它成为单线? (2认同)

SLa*_*aks 30

在代码中,您需要显式创建一个Brush实例:

Fill = new SolidColorBrush(Color.FromArgb(0xff, 0xff, 0x90))
Run Code Online (Sandbox Code Playgroud)

  • FromArgb中将有4个参数(a,r,g,b) (3认同)