MVVM несколько просмотров - PullRequest
       10

MVVM несколько просмотров

3 голосов
/ 08 февраля 2010

Я пытаюсь изучить MVVM, пока все идет хорошо, я наткнулся на ситуацию, которую я не знаю, как реализовать ..

Что я хочу: - Вид с левой навигацией и правыми деталямипанель ... правая информация будет содержать контейнер содержимого, который будет содержать мои пользовательские элементы управления для представлений, которые будут выбраны левой панелью

Что у меня есть: - MainViewModel - ViewModels для каждой из сущностей, которые есть в моей базе данных

Моя проблема: - Так как у меня будет моя наблюдаемая коллекция VIEWMODELS в моем MAINVIEWMODEL (в соответствии с примером, в котором я создаю шаблоны моего приложения), я создаю открытое свойство для каждой из моих сущностей MODEL, которые будут использоваться дляпривязка данных, которую я определил в моих пользовательских элементах управления ??

Ответы [ 2 ]

5 голосов
/ 08 февраля 2010

Вы можете создать базовый тип для всех ваших моделей представления, которые будут отображаться справа (давайте назовем это BaseContentViewModel ) Тогда ваш ListBox с левой стороны будет привязан к ObservableCollection<BaseContentViewModel>, а SelectedValue ListBox будет привязан к новому MainViewModel.SelectedContent свойству типа BaseContentViewModel .

А справа вы должны иметь ContentControl, с которым SelectedContent связывается с ContentControl.Content

Теперь это просто вопрос определения различных пользовательских элементов управления как DataTemplates в ресурсных XAML (обычно это называется ViewToViewModelMapping в MVVM)

2 голосов
/ 10 февраля 2010

Ознакомьтесь с выступлением Джона Папы на PDC «Расширенные темы для создания крупномасштабных приложений с помощью Microsoft Silverlight». В нем он иллюстрирует подход к управлению приложением, имеющим несколько триад MVVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...