mam combobox, który jest związany z kolumny DataTable tak:.obsłudze konwerter na przedmioty związane w combobox
ComboBox.DataContext = DataDataTable;
ComboBox.DisplayMemberPath = DataDataTable.Columns["IDNr"].ToString();
IdNr w kolumnie zawsze zaczyna się od 4 litery a następnie z numerem ID (ex BLXF1234). Potrzebuję wyświetlić elementy w programie Combobox bez liter (potrzebuję 1234 do wyświetlenia w combobox).
więc napisałem Przelicznik:
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();
}
Nie, jak mogę powiedzieć z combobox w użyciu konwertera, aby wyświetlić elementy? próbowałem to w XAML:
ItemsSource="{Binding}"
DisplayMemberPath="{Binding Converter={StaticResource IDPrefixValueConverter}}"
Ale nadal nie działa ... jakieś pomysły? Dzięki
mmm ... nadal nie wiem, gdzie jest błąd ... – lebhero
'DisplayMemberPath' jest ** ścieżką do właściwości **, aby wyświetlić nawet nie wiązanie. Jeśli zastosujesz konwerter, nic nie osiągniesz. –
ok, dziękuję i tak sprawdzanie, co powinno być formatowanie elementów combobox !!!? – lebhero