Это моя первая попытка MVVM. Ядро моего приложения свободно основано на статье MSDN Джоша Смита. И я также использую легкие рамки mvvm.
У меня есть главное окно, содержащее область списка команд и область рабочей области, в которой пользовательские элементы управления отображаются в виде таблиц, каждый пользовательский элемент управления имеет соответствующую модель представления. В mainWindow также есть модель представления, содержащая мой список команд, а модели представления рабочей области имеют модель представления базовой рабочей области.
Мое представление по умолчанию имеет основную сетку данных MappingSets, которая может иметь один выбранный элемент. Команды запускают новые табличные элементы с представлениями, которые обрабатывают детали MappingSet на основе этого выбранного элемента. У меня есть View / ViewModel, который в зависимости от используемой команды должен возвращать либо tabitem для создания нового MappingSet без существующих данных, либо tabitem, содержащий подробности выбранного элемента для редактирования, или tabitem, содержащий подробности выбранного элемента база для нового MappingSet.
После установки сцены мне не удалось выяснить, является ли зависящий от команды способ передачи параметров, таких как идентификатор выбранного объекта MappingSet, для создания экземпляра моей модели представления в одном из трех состояний, упомянутых выше? Например, подойдет ли мессенджер mvvmlight для этой задачи?