Вы можете использовать ObservableCollection и расширять его !!
Пространство имен: System.Collections.ObjectModel
Сборка: WindowsBase (в WindowsBase.dll)
Эта коллекция генерирует события всякий раз, когда список изменяется (скажем, любые элементы добавлены, удалены из списка)
Но обратите внимание: ObservableCollection не запускает события, если изменяются внутренние свойства объектов, которые она содержит. Если вам это нужно, дайте мне знать, я расширил коллекцию Observable, чтобы иметь эту функцию также.