Wpf combobox никогда не показывает текст selecteditem
WPF
ComboBox
никогда не обновляет текст до SelectedItem
однако это его собственность SelectedItem
изменения по выбору.код XAML:
<ComboBox Margin="4 0 2 0" ItemsSource="{Binding XAxes}" SelectedItem="{Binding SelectedXAxis, Mode=TwoWay}" ItemTemplate="{StaticResource AxisCBTextTemplate}"/>
Шаблон есть:
<DataTemplate x:Key="AxisCBTextTemplate"> <TextBlock Text="{Binding AxisTitle}"/> </DataTemplate>
ВИРТУАЛЬНАЯ ПАМЯТЬ:
private AxisCollection _xAxes; public AxisCollection XAxes { get => _xAxes; private set { _xAxes = value; OnPropertyChanged("XAxes"); } } private IAxis _selectedXAxis; public IAxis SelectedXAxis { get => _selectedXAxis; set { _selectedXAxis = value; OnPropertyChanged(nameof(SelectedXAxis)); } }
SelectedXAxis
сеттер получает вызов, а также OnPropertyChanged
, но ComboBox
не показывает никакого текста. Список отображается по назначению, нет AxisTitle
потерян.Что я уже пробовал:
Меняющийся
ItemTemplate
к DisplayMemberPath
и SelectedValuePath
:<ComboBox Margin="4 0 2 0" ItemsSource="{Binding YAxes}" SelectedItem="{Binding SelectedYAxis, Mode=TwoWay}" DisplayMemberPath="AxisTitle" SelectedValuePath="AxisTitle"/>
Добавление
OnPropertyChanged("AxisTitle")
к коду виртуальной машины;Различные комбинации ItemTemplate,
DisplayMemberPath
и SelectedValuePath
;Оставив только
<ComboBox Margin="4 0 2 0" ItemsSource="{Binding YAxes}"/>вызывает исключение.
Richard Deeming
Проверьте окно вывода в Visual Studio, чтобы узнать, есть ли какие-либо ошибки привязки данных.
Отладка Привязок данных - полный учебник по WPF[^]
Arli Chokoev (Choke)
Но их нет.
Gerry Schmitz
Реализовали ли вы INotifyPropertyChanged? Вы установили DataContext?
Arli Chokoev (Choke)
Да и еще раз да. Как уже было сказано, сеттер для SelectedItem срабатывает, как и OnPropertyChanged, но текст ComboBox не меняется.