Ответ 1
Если вам нужно изменить свой пользовательский интерфейс, потому что вы отредактировали элементы в своей коллекции, вам необходимо организовать для этих элементов интерфейс INotifyPropertyChanged
. Если объекты в вашей коллекции имеют событие PropertyChanged
, пользовательский интерфейс будет прослушивать это событие из отдельных элементов. (Если возможно, вы также можете изменить элементы в своей коллекции как DependencyObjects
с DependencyProperties
, которая выполняет ту же цель).
Если вам действительно нужно инициировать обновление пользовательского интерфейса, когда ничего о вашей коллекции не изменилось, способ сделать это - вручную поднять событие CollectionChanged
. Это невозможно сделать с ObservableCollection<>
как есть, но вы можете получить новую коллекцию из этого класса и вызвать protected OnCollectionChanged
метод protected OnCollectionChanged
из некоторого нового public
метода.