MVVM как мастер

В настоящее время я создаю приложение на основе MVVM. Приложение также должно иметь мастер в стиле MVVM. Волшебник не обычный волшебник, это особый вид волшебника. Моя цель - реализовать мастер с

1.) также имеет несколько ветвей. Мастер может направить вас в другом направлении. Так что мастер не должен быть прямолинеен.

2.) также могут иметь короткие пути. Вы можете пропустить некоторые страницы, на которых установлены значения по умолчанию.

3.) тоже нормально - прямолинейно.

Обратите внимание, что некоторая информация на страницах wizrad обновляется на лету. Это означает, что информация может передаваться между каждым шагом и обрабатываться.

Существуют ли какие-либо подходы, такие как шаблоны, для решения моей проблемы? Как реализовать это наилучшим образом?


person Carnation    schedule 17.07.2010    source источник


Ответы (3)


Вы читали эту хорошую статью в Code Project о Wizard в MVVM, написанную двумя гуру MVVM: http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx?display=Print

person Florian    schedule 18.07.2010

Вы можете ознакомиться с примером приложения ViewModel для WPF Application Framework (WAF). В нем показано, как реализовать мастер с помощью MVVM.

person jbe    schedule 23.07.2010

Если у вашего мастера есть одна виртуальная машина, которая хранит состояние/результаты каждого шага и находится за представлением, которое является пользовательским элементом управления...

У вас может быть кадр в представлении мастера, для которого требуется 2 события в коде позади (это, очевидно, зависит от того, сможет ли ваша архитектура MVVM с этим жить?).

Событие 1) Когда привязка вашего шага мастера вызывает его NotifyPropertyChanged: скажите вашему фрейму «Перейти» на соответствующую страницу (как описано в свойстве вашей виртуальной машины мастера).

Событие 2) В кадрах событие «Навигация», чтобы вы могли указать текущий контекст данных страниц на вашей виртуальной машине.

Таким образом, модель просмотра мастера контролирует состояние мастера от начала до конца, а также может описывать шаги, которые можно легко добавлять, редактировать и т. д.

Очевидно, что это может не совпадать с общим взглядом на MVVM.

person jdoig    schedule 18.07.2010