WPF有两转转换器,一种是值转换器,另一种多值转换器,在开发过程中经常会从数据拉一些数据过来,比如存储性别的时候往往会用0或1,但在界面上肯定是要显示男或女,那么这个时候就可以用上值转换器

编写转换器

创建一个类,继承自IValueConverter,实现接口

 1 public class IDisplayConvert : IValueConverter
 2     {
 3         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 4         {
 5             if (value != null)
 6             {
 7                 string str = value.ToString();
 8                 if (str == "0")
 9                 {
10                     return "";
11                 }
12                 return "";
13             }
14             return "未知";
15         }
16 
17         public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
18         {
19             throw new NotImplementedException();
20         }
21     }

前台引用资源

<Window.Resources>
        <local:IDisplayConvert x:Key="dis"/>
</Window.Resources>

使用转换器

<DataGridTextColumn Header="性别" Binding="{Binding Gender,Converter={StaticResource dis}}"/>

最终呈现效果

<img src=”https://s1.ax1x.com/2020/03/19/86ZnJK.png” alt=”86ZnJK.png” border=”0″ />

版权声明:本文为chonglu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chonglu/p/12528372.html