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}}"/>
最终呈现效果
