2010-07-17 3 views
8

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

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

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

3.) также нормальный - простой.

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

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

ответ

2

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

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

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

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

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

Очевидно, что это не может сидеть хорошо со всем это вид МВВМ.

2

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