WPF中Converter的用于对数据的转换。以下实例将实现将数据中的性别属性的转换(0:男,1:女)。
1、创建SexConverter.cs类,并实现IValueConverter接口
public class SexConverter : IValueConverter { public object Convert(object value,Type targettype,object parameter,System.Globalization.CultureInfo culture) { string result = ""; string sex = (string)value; if (sex == "0") { result = "男"; } else if (sex == "1") { result = "女"; } return result; } public object ConvertBack(object value,System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } }
2、在XAML页面中使用
<Window.Resources> <!--引用资源--> <converter:SexConverter x:Key="SexConverter"/> <Style targettype="ListBoxItem"> <Setter Property="ContentTemplate"> <Setter.Value> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding ID}" Width="60"/> <TextBlock Text="{Binding Name}" Width="120"/> <TextBlock Text="{Binding Sex,Converter={StaticResource SexConverter}}" Width="60"/> </StackPanel> </DataTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <StackPanel> <ListBox x:Name="listBoxStudent" Margin="5"/> </StackPanel>
/// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); List<Student> stuList = new List<Student>(){ new Student(){ID="1",Name="Peter",Sex="0"},new Student(){ID="2",Name="Tom",Sex="1"},new Student(){ID="3",Name="Ben",Sex="0"} }; this.listBoxStudent.ItemsSource = stuList; } } /// <summary> /// 学生类 /// </summary> public class Student{ public string ID{get;set;} public string Name { get; set; } public string Sex { get; set; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。