Ваша модель представления должна представлять коллекции, которые изменяются (т.е. имеют элементы, добавленные / удаляемые) как ObservableCollections
(или некоторый другой класс, который реализует INotifyCollectionChanged
).Это не означает, что вашей модели необходимо предоставить коллекцию, которая реализует этот интерфейс.
Ваша модель представления фактически является адаптером вашей модели, что делает ее более легко привязываемой.Например, если ваше приложение отображает твиты, ваш сервисный уровень может вернуть модель, представляющую собой список твитов.Ваша модель представления затем вставит их в наблюдаемую коллекцию, что приведет к обновлению вашего представления.Затем вы можете получить новые твиты через ваш сервис в будущем (используя таймер), они снова будут возвращены в виде списка.Ваша модель представления затем добавит эти твиты в свой ObservableCollection
, в результате чего новые элементы будут видны в представлении.