在这种情况下,您想要实现一个ValueConverter
看起来像这样的(使用 LINQ 字符串扩展):
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return ((string)value).First().ToString();
}
显然,如果您的输入值 ( VehicleCondition
) 不是字符串,您将需要做一些更复杂的事情。
你的 XAML 会变成这样:
<telerik:GridViewComboBoxColumn Header="N/U" DataMemberBinding="{Binding VehicleCondition, Converter={StaticResource initialLetterConverter}}" ...
如果您不仅需要访问有关该项目的其他信息,VehicleCondition
那么您可以将绑定更改为:
<telerik:GridViewComboBoxColumn Header="N/U" DataMemberBinding="{Binding, Converter={StaticResource initialLetterConverter}}" ...
这将绑定到对象。然后你的转换器变成这样:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var carSalon = (CarSalon)value;
string result = string.Empty;
if (carSalon != null && <whatever else you need to test>)
{
result = temp.VehicleCondition.First().ToString();
}
return result;
}
您可以在其中对对象进行任何检查或获取所需对象的其他属性。