WPF—— ListView显示性别
我的数据库里的性别是Int类型。我现在在页面只能显示器0和1;下面是我做的部分ListView代码:<!--放内容的区域--><ListViewHeight="232"H...
我的数据库里的性别是Int类型。我现在在页面只能显示器0和1; 下面是我做的部分ListView代码: <!--放内容的区域--> <ListView Height="232" HorizontalAlignment="Left" Margin="114,41,0,0" Name="lvwResponden" VerticalAlignment="Top" Width="622" > <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding="{Binding Path=RId}" Header="编号" Width="0" /> <GridViewColumn DisplayMemberBinding="{Binding Path=RName}" Header="员工名" /> <GridViewColumn DisplayMemberBinding="{Binding Path=RDepartment.DName}" Header="部门" /> <GridViewColumn DisplayMemberBinding="{Binding Path=RAge}" Header="年龄" /> <GridViewColumn DisplayMemberBinding="{Binding Path=RSex}" Header="性别" /> <GridViewColumn DisplayMemberBinding="{Binding Path=RAddress}" Header="地址" /> <GridViewColumn DisplayMemberBinding="{Binding Path=RContact}" Header="联系方式" /> <GridViewColumn DisplayMemberBinding="{Binding Path=RNote}" Header="备注" /> </GridView> </ListView.View> </ListView>
展开
展开全部
一般来说WPF的绑定,起到的效果是值一一对应,如你数据库里是0,到界面上还是0,不会变成男或女。 因此,你需要告诉他对应的规则:不是原来的一一对应,而是某种转换,比如0转换为“男”,1转换为“女”。 因此总结下来就是,你这个绑定需要转换。WPF的绑定类:Binding的实例,提供了一个叫做Converter的属性,赋值必须是实现了IValueConverter接口的转换类。然后系统绑定数据时,会根据转换接口的方法实行指定的转化,代码具体如下: public partial class Window1 : Window { public Window1() { InitializeComponent(); Binding bind = (Binding)this.FindResource("BindSex"); bind.Converter = new ISexConvertr(); } } public class ISexConvertr : IValueConverter { #region IValueConverter 成员 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value != null) { return value.ToString() == "1" ? "男" : "女"; } return "不男不女"; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } #endregion }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询