У меня есть поле со списком, которое привязано к столбцу с данными, например:
ComboBox.DataContext = DataDataTable;
ComboBox.DisplayMemberPath = DataDataTable.Columns["IDNr"].ToString();
IDNr в столбце всегда начинается с 4 букв, за которыми следует идентификационный номер (например, BLXF1234). Мне нужно отображать элементы в поле со списком без букв (мне нужно, чтобы в поле со списком отображалось 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}}"
Но все еще не работает ... есть идеи? Спасибо