Несколько шагов, продиктованных MVVM ViewModel: лучшие практики?

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

Следуя передовым практикам MVVM-пуриста, я полагаю, что список ViewModels во внешней ViewModel - это способ сделать это, и пусть внешний вид привязывает к нему настраиваемый элемент управления вкладкой (или аналогичный).

Это подводит меня к двум аспектам, которые мне неясны:

Пункт первый: «Что было первым?»

Внешний вид Комбинация / ViewModel, вероятно, будет «Сначала просмотр». То есть представление либо получает ViewModel, либо создает его экземпляр.

Но когда дело доходит до списка ViewModels внутри этой внешней ViewModel: Откуда берутся их соответствующие Просмотры? Какая организация отвечает за выбор лучшего обзора для каждого из них?

Меня не устраивает чередование «Сначала просмотр» и «Сначала модель просмотра», как это.

Пункт второй: обмен данными между моделями просмотра

Когда один из внутренних шагов модели просмотра завершен, например, при щелчке кнопки «Сохранить» или «Далее» должна быть запущена команда для этой внутренней модели представления, а затем должна быть показана следующая.

Это требует, чтобы внешняя ViewModel:

  1. могла принимать команду «Сохранить», отправленную внутренней ViewModel

  2. , иметь доступ к данным внутри внутренней ViewModel.

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

6
задан BoldBob 1 April 2011 в 08:47
поделиться