У меня есть выпадающий список в моем файле MainWindow.xaml, например:
<ComboBox Name="material1ComboBox"
HorizontalAlignment="Center"
MinWidth="100"
ItemsSource="{Binding ViewProperties.MaterialDropDownValues}"
SelectedValue="{Binding ViewProperties.Material1SelectedValue}"
SelectionChanged="Material1ComboBoxSelectionChanged">
</ComboBox>
Я назначил текстовый текст в коде, используя this.datacontext = this
.
Я создал ViewProperties
доступ к нему осуществляется как свойство в MainWindow
и является классом, который реализует INotifyPropertyChanged и содержит MaterialDropDownValues
в качестве свойства.
Я даже изменил значение MaterialDropDownValues
на ObservableCollection
.
Проблема заключается в том, что привязка данных работает при инициализации, однако, если свойство MaterialDropDownValues
изменяется, значения комбинированного списка не обновляются.
У меня есть следующее в классе ViewProperties
:
public ObservableCollection<string> MaterialDropDownValues
{
get { return this.materialDropDownValues; }
set
{
this.materialDropDownValues = value;
OnPropertyChanged("MaterialDropDownValues");
}
}
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
Есть идеи, почему это не работает?Все остальные ответы, которые я мог найти, советовали реализовать INotifyPropertyChanged и сделать свойство наблюдаемой коллекцией.