2010-12-01 3 views
0

Я новичок в wpf, и я разрабатываю клиент-серверное приложение с использованием wpf для UI. У меня есть одна модель - вид, модель и модель связи моя модель и вид пользовательский элемент управления следующие мои сомнения:Использование шаблона mvvm в приложении wpf

  1. если я держу DataList внутри ViewModel, как другой вид модели может получить доступ к нему
  2. если я держу DataList в применении, так что любой вид может получить доступ к нему, будь то мой взгляд модель сможет обновить его посредством привязки
  3. it wi будет хорошей конструкцией, если моя модель представления напрямую вызовет мою модель связи или я должен держать класс wraper между ними.

Thanx

Sarika

ответ

0

Вы должны думать об использовании хранилища шаблон для доступа к списку пунктов. Ваши модели просмотра должны работать против абстракции этого репозитория (например, IPeopleRepository), и вы должны передать конкретную реализацию этого репозитория в свою модель просмотра через инъекцию (например, через впрыск конструктора). Ваша конкретная реализация может вызвать вашу модель связи для извлечения списка элементов.

Как правило, ваш репозиторий будет возвращать тип коллекции, который не относится к WPF. Вероятно, вы захотите обернуть это в ObservableCollection на своей модели просмотра, чтобы пользовательский интерфейс был уведомлен об изменениях в коллекции.

Независимо от того, будет ли каждая модель просмотра получать новую ссылку на эту коллекцию или все они будут обращаться к одной коллекции, будет зависеть от вашего варианта использования, но пока коллекция будет отображаться как свойство в вашем DataContext (как правило, ваша модель просмотра) , то вы сможете привязываться к коллекции для отображения и обновления ее из представления.

Смежные вопросы