В приложении WPF у меня есть ListView, связанный с ObservableCollection на моей ViewModel.
Во время работы приложения мне нужно удалить и перезагрузить все элементы в коллекции. Мне никогда не нужно добавлять или удалять отдельные элементы.
Это вызывает вопрос, действительно ли необходим ObservableCollection и могу ли я просто привязать ListView к IEnumerable и вызвать OnPropertyChanged при замене коллекции?
Поскольку ObservableCollection не имеет метода AddRange, единственным способом перезагрузки без замены коллекции будет добавление каждого элемента по отдельности. Скорее всего, это повлияет на производительность, так как CollectionChanged запускается для каждого добавленного элемента?
Наконец, поскольку я использую ICollectionView для синхронизации выбранного в данный момент элемента, если я делаю заменим коллекцию, мне нужно будет снова вызвать CollectionViewSource.GetDefaultView? Я предполагаю, что могу повторно использовать существующий обработчик CurrentChanged.
Спасибо
Бен