zoukankan      html  css  js  c++  java
  • 实现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}}"/>
    

      

  • 相关阅读:
    C#SortedList排序列表怎么样逆序输出
    使 SortList 实现重复键排序
    【转】delphi程序只允许运行一个实例的三种方法:
    Delphi中控制Excel(转载)
    spring和hibernate的集成
    使用Jedis操作redis
    使用java发送邮件
    error at ::0 can't find referenced pointcut...解决方法
    log4j简单的使用
    spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)
  • 原文地址:https://www.cnblogs.com/ssvip/p/7338714.html
Copyright © 2011-2022 走看看