博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建一个显示所有预定义系统颜色的ListBox
阅读量:5890 次
发布时间:2019-06-19

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

原文 

该System.Windows.SystemColors类包含了一系列揭露当前预定义系统颜色静态属性。这些物业有三胞胎。对于每个系统颜色Xxx,有XxxBrush,XxxBrushKey和XxxColor属性。

我们可以通过构建一组画笔然后将集合绑定到ListBox,轻松创建一个小的WPF应用程序来显示当前的系统颜色。

这是最终结果:

下面是我用来创建列表的代码。

我从一个包含命名系统颜色及其Brush的实用程序类开始:

 
public class ColorInfo{    public string Name { get; set; }    public Brush Brush { get; set; }     public ColorInfo(string name, Brush brush)    {        Name = name;        Brush = brush;    }}

 

接下来,我将一个集合添加到我的主Window类,它将存储一个ColorInfo对象列表:

private ObservableCollection
allSystemColors;public ObservableCollection
AllSystemColors{ get { return allSystemColors; }}

 

在窗口的构造函数中,我使用反射填充此列表。请注意,我遍历SystemColors类中的所有属性,只抓取名称以“Brush”结尾的那些属性。

allSystemColors = new ObservableCollection
(); Type scType = typeof(SystemColors);foreach (PropertyInfo pinfo in scType.GetProperties()){ if (pinfo.Name.EndsWith("Brush")) allSystemColors.Add(new ColorInfo(pinfo.Name.Remove(pinfo.Name.Length - 5), (Brush)pinfo.GetValue(null, null)));}

 

剩下的就是将此集合绑定到ListBox。我们在XAML中这样做:

 

瞧!

 

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

你可能感兴趣的文章
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
加快ALTER TABLE 操作速度
查看>>
PHP 程序员的技术成长规划
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
js replace,正则截取字符串内容
查看>>
作业2
查看>>
nginx的信号量
查看>>
云im php,网易云IM
查看>>
DEFERRED_SEGMENT_CREATION
查看>>
Ada boost学习
查看>>
开源 java CMS - FreeCMS2.3字典管理
查看>>
block,inline和inline-block概念和区别
查看>>
移动端常见随屏幕滑动顶部固定导航栏背景色透明度变化简单jquery特效
查看>>
javascript继承方式详解
查看>>
lnmp环境安装sh脚本
查看>>