Проблема проста: при обновлении ItemsSource
Combobox не «обновляется», например. новые элементы не добавляются в список элементов в выпадающем списке.
Я пробовал решение от aceepted ответа на этот вопрос: WPF - автоматическое обновление содержимого списка без удачи.
вот мой код,
XAML:
<ComboBox Name="LeadTypeComboBox" ItemsSource="{Binding LeadTypeCollection}" />
ViewModel:
public ObservableCollection<XmlNode> LeadTypeCollection { get; set; }
способ обновления этой коллекции заключается в отдельном методе, который загружает данные из обновленного файла XML: this.LeadTypeCollection = GetLeadTypesDataSource();
Я также пытался использовать Add
для тестирования:
this.LeadTypeCollection = GetLeadTypesDataSource();
ItemToAdd = LeadTypeCollection[LeadTypeCollection.Count - 1];
this.LeadTypeCollection.Add(ItemToAdd);
коллекция обновлений кода определенно запускается, я вижу новые элементы в этой коллекции при отладке, но я не вижу их в выпадающем списке.
Выполнение этого в кодовом модуле xaml работает: LeadTypeComboBox.ItemsSource = MyViewModel.GetLeadTypesDataSource();
, но я бы хотел достичь этого с помощью MVVM, т. Е. Код должен быть в ViewModel, который не знает об элементе управления LeadTypeComboBox.