wpf后台设置颜色(背景色,前景色)

有时候你是不是也会遇到要在wpf后台给某个控件设置背景色或者给文字设置前景色的情况?

本人最近看到一个从自定义的combobox读取系统字体和颜色的实例,该实例实现了随字体combobox选项改变而改变字体的设置,而颜色combobox却没有实现,于是自己也想设置一下。结果发现颜色从前台好像不好设置成动态的,于是尝试从后台combobox_SelectionChanged事件设置。

要设置颜色,首先要获取颜色。获取颜色的方式我总结了五种:

1、 Color color = Color.FromArgb(透明度, red数字, green数字, blue数字); //这四个数字范围都是(0-255)

  Color color = Color.FromRgb(red数字, green数字, blue数字);//默认透明度为255;

2、Color color = (Color)ColorConverter.ConvertFromString(“Blue”);

3、 if (e.Source is ComboBox)
{

      var value = (e.Source as ComboBox).SelectedValue;
int start = value.ToString().IndexOf("Color");
string selectcolor = value.ToString().Substring(start+5);
Color color = (Color)ColorConverter.ConvertFromString(selectcolor);

      textblock.Foreground = new SolidColorBrush(color);

}

4、TBlock_content.Foreground = Brushes.Blue; (对于有Brushes的时候)

 

这里我们着重说一下第三种,value获取的值是:System.Windows.Media.Color 颜色名 (比如System.Windows.Media.Color Blue)。所以我们需要截取出后面的名字,然后使用(Color)ColorConverter.ConvertFromString(selectcolor) 转换为颜色格式。注意,不能使用ColorConverter.ConvertFromString(selectcolor) as Color;提示错误Color必须为非Null值。 

SolidColorBrush myBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(0xFF, 0x25, 0x56, 0x87));  

button.Background = (System.Windows.Media.Brush)myBrush;  

转自:http://blog.csdn.net/xingxing513234072/article/details/9016289

转载于:https://www.cnblogs.com/railgunman/p/6054587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值