在做一个项目遇到的问题,记录一下
账户登录的权限以及状态的时候,数据库存储的为true false。但是显示的时候,肯定要消失启用或者未启用。在DataSource进行bingding时,进行转换。需要实现 IValueConverter接口。代码如下;
public class ConverterUserStatus : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
{
return “未知”;
}
bool userType = System.Convert.ToInt32(value.ToString());
if (userType)
{
return "启用";
}
else
{
return "未启用";
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
在XML代码中
<UserControl.Resources>
<dataConvert:ConverterUserStatus x:Key=“ConverterUserStatus”/>
</UserControl.Resources>
然后在数据绑定处
Binding="{Binding UserStatus,Converter={StaticResource ConverterUserStatus}}"
然后就ok了
我这边只是bool类型的数据,也可以是int类型的1,2,3,4然后用switch语句 判断数字代表的意义,然后返回