この場合、次の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;
}
ここで、オブジェクトのチェックを実行したり、必要なオブジェクトの他のプロパティを取得したりできます。