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
最新文章
- 第一章-第十一题(请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人)--By 侯伟婷
- Linux 忘记root密码 的解决办法
- sql 事物以及回滚
- JLINK仿真器与ST-LINK仿真器的安装与配置.pdf
- Perl的DATA文件句柄
- 对JavaScript对象数组按指定属性和排序方向进行排序
- nmblookup
- pat_1009
- 【转】Android 定时器实现的几种方式和removeCallbacks失效问题详解--不错
- poj 2299 Ultra-QuickSort(归并排序或是bit 树+离散化皆可)
- socket中的option
- 在Linux终端下使用代理访问网络(转)
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
- Spring通过SchedulerFactoryBean实现调度任务的配置(定时器)
- B+树vs. LSM树(转)
- MySQL数据类型--与MySQL零距离接触 3-2 外键约束的要求解析
- python django 访问static静态文件
- java图片压缩(Thumbnails)
- 04 用户个人信息和二次开发django的文件存储系统
- fafu 1411
热门文章
- 使用开源软件 enfuse 做照片的曝光合成
- [SDOI2018]战略游戏 圆方树,树链剖分
- P2154 [SDOI2009]虔诚的墓主人
- Java虚拟机笔记(三):垃圾收集算法
- (webapp)微信和safri 对于html5 部分功能不兼容,多选或单选下拉框去除边框无效果。
- 六种流行的语言大餐---C、C++、python、Java、php、C#你更喜欢哪一个呢?
- 2018年美国大学生数学建模竞赛(MCM/ICM) 比赛心得
- 【坚持】Selenium+Python学习记录 DAY8
- Docker持久化存储与数据共享
- C++STL 中的容器整体/逐元素操作方法 少写80%for循环