博客
关于我
WPF 后面板设置16进制颜色,透明;
阅读量:666 次
发布时间:2019-03-15

本文共 1372 字,大约阅读时间需要 4 分钟。

16进制颜色

Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F0F0F0"))

透明度参照这篇文章

 

原文引用:

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

5、 

tblock_gethistory.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#2786E4"));

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

转载地址:http://xxxmz.baihongyu.com/

你可能感兴趣的文章
Linux 解决E: Sub-process /usr/bin/dpkg returned an error code (1)错误
查看>>
Linux 解决“/bin/bash^M: bad interpreter: No such file or directory”
查看>>
Linux 解决错误File “/usr/bin/yum“, line 30 except KeyboardInterrupt, e:
查看>>
linux 解压tar包
查看>>
Linux 计划任务详解
查看>>
linux 让php支持mysql_转 linux下php扩展mysqli的支持
查看>>
Linux 设置/删除环境变量
查看>>
linux 访问mysql
查看>>
linux 超好用的命令行工具
查看>>
Linux 软件 RAID 设置
查看>>
Linux 软件安装与卸载
查看>>
Linux 运维王者从不离手的10款工具,全用过会变成高手?
查看>>
Linux 运行SHELL报错“-BASH: ./TEST.SH: /BIN/BASH^M: BAD INTERPRETER: NO SUCH FILE OR DIRECTORY”
查看>>
Linux 进程管理及监控与性能评估
查看>>
Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知...
查看>>
Linux 通过SSH跳板机实现端口转发
查看>>
Linux 通过压缩包安装 MySQL 并设置远程连接教程
查看>>
Linux 通过监控系统内存并定时重启指定服务
查看>>
Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
查看>>
linux 配置 skywalking
查看>>