using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace XHandler.Class { /// /// 描述画笔名称及实例 /// public class BrushItem { /// /// 画笔名称 /// public String Name { get; set; } /// /// 画笔实例 /// public Brush Value { get; set; } /// /// 构造函数 /// /// 画笔名称 /// 画笔实例 public BrushItem(String name, Brush value) { Name = name; Value = value; } } /// /// 获取在 WPF 的 Brushes 类中定义的所有常用画笔 /// public class CommonBrushes { /// /// 获取在 WPF 的 Brushes 类中定义的所有常用画笔 /// /// 基于反射实现 public ObservableCollection GetAllBrushes() { ObservableCollection BrushCollection = new ObservableCollection(); // 获取所有静态公共属性 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; } } }