实现wpf的值转换器

从数据库取出来的数据是1,2,3,4,5,不过要显示在控件上的,是1,2,3,4,5对应的string值,怎么办?wpf提供了很好的实现方法,那就是值转换器,我们需要做的是:

1、定义值转换类,继承IValueConverter接口

2、实现接口的Convert()与ConvertBack()方法

3、在xaml中引入此命名空间

4、在xaml中定义供引用的值转换元素

5、在需要显示数据的控件上绑定第4个步骤的元素与绑定数据源

定义值转换类TypeToStringTypeConverter 并实现接口IValueConverter方法

 public class TypeToStringTypeConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            jbase j = new jbase(;
            int temp = (int)value;
            switch (temp)
            {
                case 0:
                    return "教授";
                    break;
                case 1:
                    return "教师";
                    break;
                case 2:
                    return "学生";
                    break;
                case 3:
                    return "校长";
                    break;
                default:
                    return " ";
                    break;
            }
            
        }


        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
}

  在xaml中引入此命名空间。类TypeToStringTypeConverter隶属于命名空间WpfApplication1,所以引入命名空间WpfApplication1

 xmlns:CV="clr-namespace:WpfApplication1"

  在xaml中定义供引用的值转换元素,提供x:Key键值供其它控件调用。注意:此元素要放在Resources节点

<CV:TypeToStringTypeConverter x:Key="ToTypeNow"/>

  显示数据的控件调用元素

<DataGridTextColumn Header="角色" Binding="{Binding Path=Type, Converter={StaticResource ToTypeNow}}"/>

  

原文地址:https://www.cnblogs.com/ssvip/p/7338714.html