实习刚接触WPF,跟进一个项目中需要将一个btn点击变色,很简单的功能,但是WPF中却并不能直接:
btnName.Background = Color.colorname;
其实,你会发现Color下面根本就没有Red,Black之类的colorname。
在网上查找后,列三种最常见的获取颜色方法:
1 Color color = Color.FromArgb(透明度, red数字, green数字, blue数字); //范围(0-255)
2 Color color = Color.FromRgb(red数字, green数字, blue数字);//默认透明度为255;
3 Color color = (Color)ColorConverter.ConvertFromString(“Blue”);
颜色获取到了,但是直接
btnName.Background = (Color)ColorConverter.ConvertFromString(“Blue”);
仍然会报错,错误是:前者是brush类型,后者是color类型,所以还需要转换一下:
SolidColorBrush brush = new SolidColorBrush(color);
然后再将brush赋值给Background就行了,整体就是:
Color color = ColorConverter.ConvertFromString("Blue");
SolidColorBrush brush = new SolidColorBrush(color);
btnName.Background = brush;