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
|
{
|
/// <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 class CommonBrushes
|
{
|
/// <summary>
|
/// 获取在 WPF 的 Brushes 类中定义的所有常用画笔
|
/// </summary>
|
/// <remarks>基于反射实现</remarks>
|
public ObservableCollection<BrushItem> GetAllBrushes()
|
{
|
ObservableCollection<BrushItem> BrushCollection = new ObservableCollection<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;
|
}
|
|
}
|
}
|