Я в настоящее время создаю базирующееся приложение MVVM. Приложение должно также иметь мастер в стиле MVVM. Мастер не является нормальным мастером, это - деталь своего рода мастер. Моя цель состоит в том, чтобы реализовать мастер с
1.) имеет также несколько ответвлений. Мастер может вести Вас в другом направлении. Таким образом, мастер не должен быть простым.
2.) может также иметь короткие пути. Можно пропустить некоторые страницы, где значения по умолчанию являются setted.
3.) также нормально - простой.
Отметьте, некоторая информация на wizrad страницах непрерывны. Это означает, что информация может быть передана между каждым шагом и обработана.
Есть ли какие-либо подходы как шаблоны для решения моей проблемы? Как я реализую его лучший способ?
Вы читали эту хорошую статью в Code Project о мастере в MVVM и написано двумя гуру MVVM: http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx?display=Print
Если ваш мастер имеет одну виртуальную машину, которая хранит состояние / результаты каждого шага и находится за представлением, которое является пользовательским элементом управления ...
У вас может быть фрейм в мастере представление, которое требует 2 события в коде позади (это, очевидно, зависит от того, может ли ваша архитектура MVVM жить с этим?).
Событие 1) Когда привязка вашего шага мастера вызывает его NotifyPropertyChanged: сообщите вашему фрейму «Перейти» на соответствующую страницу (как описано в свойстве в виртуальной машине мастера).
Событие 2) В кадрах событие "Navigated", чтобы вы могли указать контекст данных текущей страницы на вашей виртуальной машине.
Таким образом, модель просмотра мастера управляет состоянием мастера от начала до конца, а также может описывать шаги, которые можно легко добавлять, редактировать и т. Д.
Очевидно, что это может не устраивать всех. MVVM.
Вы можете взглянуть на ViewModel пример приложения WPF Application Framework (WAF) . Он показывает, как реализовать мастер в виде MVVM.