MVVM: Связь

Я работаю над большим приложением MVVM. Для этого я использую набор инструментов MVVM light. Приложение похоже на веб-браузер с кнопками вперед и назад. Основной вид - это пользовательский элемент управления. Я поместил кнопки «Назад» и «Вперед» в элемент управления основного вида. Главное представление, в свою очередь, имеет пользовательские элементы управления. Пользовательские элементы управления меняются при нажатии кнопок «Назад» и «Вперед». Основная ViewModel отслеживает текущий пользовательский элемент управления и загружает следующий в зависимости от нажатия кнопки.

Все эти пользовательские элементы управления загружаются в зависимости от выбора (ID), сделанного на первом шаге. Допустим, основной вид - это экран поиска, и мы выбираем клиента. Следующие экраны будут «Адрес», «Счета», «Запросы» и т. Д. Эти экраны не передают никаких данных. Но данные относятся к одному и тому же клиенту.

Итак, это хорошая практика - хранить идентификатор клиента в главном окне? Если я это сделаю, у меня должно быть событие UserControl_Loaded, привязанное к команде, где я затем буду запрашивать адрес и информацию о выставлении счетов.

Или я могу переместить кнопки (кнопки назад и вперед) к каждому пользовательскому элементу управления вместо основного view, передайте идентификатор клиента с сообщением, которое загрузит следующее представление.

Что лучше?

5
задан katie77 13 August 2011 в 17:17
поделиться