Вместо привязки к различным экземплярам IEnumerable<T> myCollection
, рекомендуемый подход заключается в привязке непосредственно к Context.EntitySet<T>
.EntitySet<T>
реализует INotifyCollectionChanged
и INotifyPropertyChanged
интерфейсы.При привязке к одному и тому же экземпляру EntitySet<T>
каждая страница может уведомляться об изменениях, отвечая на событие EntitySet<T>.CollectionChanged
.Например:
// Page 1
_myCollection = Context.EntitySet<MyItem>();
_myCollection.CollectionChanged += MyItemsChanged;
...
// Page 2
_myCollection = Context.EntitySet<MyItem>();
_myCollection.CollectionChanged += MyItemsChanged;
Когда любая страница добавляется или удаляется из коллекции, все страницы уведомляются.
Что касается вашего комментария, IEnumerable<T>
не реализует интерфейс INotifyCollectionChanged
и не публикует никаких уведомлений об изменениях.Наилучшие результаты достигаются при использовании EntitySet<T>
напрямую.