У меня есть поле со списком, которое привязано к столбцу с данными, как это:
ComboBox.DataContext = DataDataTable;
ComboBox.DisplayMemberPath = DataDataTable.Columns["IDNr"].ToString();
IDNr в столбце всегда начинается с 4 букв, за которыми следует идентификационный номер (например, BLXF1234).Мне нужно отобразить элементы в Combobox без букв (мне нужно, чтобы 1234 отображалось в комбинированном окне).
Итак, я написал конвертер:
class IDPrefixValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null)
{
string s = value.ToString();
if (s.Contains("BL"))
{
return s.Substring(4);
}
else
{
return s;
}
}
return "";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
Нет, как я могу сказатьполе со списком использовать конвертер для отображения элементов?Я попробовал это в Xaml:
ItemsSource="{Binding}"
DisplayMemberPath="{Binding Converter={StaticResource IDPrefixValueConverter}}"
Но все еще не работает ... Есть идеи?Спасибо