В этом случае вы хотите реализовать 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;
}
где вы можете делать любые проверки объекта или получать другие свойства нужного вам объекта.