有时候你是不是也会遇到要在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

最新文章

  1. 第一章-第十一题(请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人)--By 侯伟婷
  2. Linux 忘记root密码 的解决办法
  3. sql 事物以及回滚
  4. JLINK仿真器与ST-LINK仿真器的安装与配置.pdf
  5. Perl的DATA文件句柄
  6. 对JavaScript对象数组按指定属性和排序方向进行排序
  7. nmblookup
  8. pat_1009
  9. 【转】Android 定时器实现的几种方式和removeCallbacks失效问题详解--不错
  10. poj 2299 Ultra-QuickSort(归并排序或是bit 树+离散化皆可)
  11. socket中的option
  12. 在Linux终端下使用代理访问网络(转)
  13. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
  14. Spring通过SchedulerFactoryBean实现调度任务的配置(定时器)
  15. B+树vs. LSM树(转)
  16. MySQL数据类型--与MySQL零距离接触 3-2 外键约束的要求解析
  17. python django 访问static静态文件
  18. java图片压缩(Thumbnails)
  19. 04 用户个人信息和二次开发django的文件存储系统
  20. fafu 1411

热门文章

  1. 使用开源软件 enfuse 做照片的曝光合成
  2. [SDOI2018]战略游戏 圆方树,树链剖分
  3. P2154 [SDOI2009]虔诚的墓主人
  4. Java虚拟机笔记(三):垃圾收集算法
  5. (webapp)微信和safri 对于html5 部分功能不兼容,多选或单选下拉框去除边框无效果。
  6. 六种流行的语言大餐---C、C++、python、Java、php、C#你更喜欢哪一个呢?
  7. 2018年美国大学生数学建模竞赛(MCM/ICM) 比赛心得
  8. 【坚持】Selenium+Python学习记录 DAY8
  9. Docker持久化存储与数据共享
  10. C++STL 中的容器整体/逐元素操作方法 少写80%for循环