在存在基本数据缓存时,可以传入一个数据库中的数据唯一标识码,然后利用自己编写的Convert类,这个Convert类必须实现IValueConverter接口,进行转换,在进行转换的过程中,可以从基本数据缓存中读取我们想要的数据,然后进行封装成我们想要的数据类型,返回的是一个object对象。
public class OrgGuidToOrgNameConvert : IValueConverter
{
/// <summary>
/// 返回orgGuid所代表的部门名称
/// </summary>
/// <param name="value"></param>
/// <param name="targetType"></param>
/// <param name="parameter"></param>
/// <param name="culture"></param>
/// <returns></returns>
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string orgGuid = (string)value;
var orgGuidName=BaseDataProvider.OrgInfoDtos.Where(t=>t.OrgIdentifier==orgGuid).Select(t=>t.OrgAlias).ToArray();
return orgGuidName[0];
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
在.xaml文件中进行调用:
1.将Convert引入。
xmlns:convert="clr-namespace:Hytera.PUC_CTI.Client.UI.Common.ValueConvert"
<convert:OrgGuidToOrgNameConvert x:Key="orgGuidToOrgNameConvert"/>
2.进行调用
Content="{Binding OrgGuid,Converter={StaticResource orgGuidToOrgNameConvert}}
这可以将部门唯一标识转换成一个string类型的部门名称。