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;
}
}
}