在WPF应用程序的开发中我们经常会遇到需要将枚举数据类型的数据映射到Combox控件上,绑定的思路一般是遍历枚举的类,创建枚举的字典,然后作为数据源进行绑定
这样在业务逻辑代码中需要添加枚举信息的字典,每次使用的时候需要重新定义,操作比较繁琐,所以我们如果能将枚举的信息类作为资源导入,则可以省去在业务逻辑代码中定义枚举信息的过程,同时可以为枚举类型添加中文描述特性
在实际使用中,我们通过绑定类的ItemSource到通过转换器转换后得到的<描述,枚举>的键值对集合,然后通过指定展示成员路径DisplayMemberPath, 以及选中值路径SelectedValuePath的方式实现枚举类型到Combox的映射
转换器定义如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace Seichitech.HostClient.Controls.Converters
{
public class ObjToListConverter : IValueConverter
{
/// <summary>
/// 获取枚举中添加的描述特性
/// </summary>
/// <param name="enumObj"> 枚举类型</param>
/// <returns></retu