/* ---------------------------------------------------------- * 文件名称:CommonBrushes.cs * * 作者:秦建辉 * * MSN:splashcn@msn.com * QQ:36748897 * * 博客:http://www.firstsolver.com/wordpress/ * * 开发环境: * Visual Studio V2010 * .NET Framework 4 Client Profile * * 版本历史: * V1.0 2012年09月03日 * 获取在 WPF 的 Brushes 类中定义的所有常用画笔 ------------------------------------------------------------ */ using System; using System.Collections.Generic; using System.Reflection; using System.Windows.Media; namespace Splash.WPF { /// <summary> /// 描述画笔名称及实例 /// </summary> public class BrushItem { /// <summary> /// 画笔名称 /// </summary> public String Name { get; set; } /// <summary> /// 画笔实例 /// </summary> public Brush Value { get; set; } /// <summary> /// 构造函数 /// </summary> /// <param name="name">画笔名称</param> /// <param name="value">画笔实例</param> public BrushItem(String name, Brush value) { Name = name; Value = value; } } /// <summary> /// 获取在 WPF 的 Brushes 类中定义的所有常用画笔 /// </summary> public static class CommonBrushes { /// <summary> /// 获取在 WPF 的 Brushes 类中定义的所有常用画笔 /// </summary> /// <remarks>基于反射实现</remarks> public static BrushItem[] AllBrushes { get { List<BrushItem> BrushCollection = new List<BrushItem>(); // 获取所有静态公共属性 foreach (PropertyInfo pi in typeof(System.Windows.Media.Brushes).GetProperties(BindingFlags.Static | BindingFlags.Public | BindingFlags.GetProperty)) { BrushCollection.Add(new BrushItem(pi.Name, (Brush)pi.GetValue(null, null))); } return BrushCollection.ToArray(); } } } }
调用示例请参考文章:
WPF:在TextBox中显式显示提示信息(二)TextBoxPlus类演示