У меня есть WPF ListBox, связанный с ObservableCollection, когда коллекция меняется, все элементы обновляют свою позицию.
Новая позиция сохраняется в коллекции, но пользовательский интерфейс не обновляется. Поэтому я добавил следующее:
void scenarioItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
ToolboxListItem.UpdatePositions();
lstScenario.ItemsSource = null;
lstScenario.ItemsSource = ToolboxListItem.ScenarioItems;
this.lstScenario.SelectedIndex = e.NewStartingIndex;
}
Установив источник ItemsSource равным null, а затем снова привязывая его, пользовательский интерфейс обновляется,
но это, вероятно, очень плохое кодирование: p
Предложения?