У меня есть приложение, в котором у меня есть основная модель представления, представление которой содержит tabcontrol, где каждая вкладка имеет свой собственный вид и модель представления (и, возможно, их больше).Я считаю, что это довольно распространенный дизайн.Теперь я хочу открыть новые вкладки (создав новые экземпляры моделей и добавив их в коллекцию рабочих пространств), запустив команды из элементов управления внутри этих вкладок.Проблема в том, что команда получена внутренней моделью представления, которая управляет вкладкой, а не внешней, которая управляет управлением вкладкой.Какова была бы лучшая практика, чтобы сделать это?Все решения, которые я могу придумать, являются «хакерскими» (давая viewmodel ссылку на его родительскую viewmodel, подписку на событие потомка от родителя ...).Я предполагаю, что есть хорошее решение для этого.
Например, в представлении «список сущностей», нажатие кнопки «новая» или выбор строки должно открыть другую вкладку с типом «подробности сущности»зрения.Однако команда будет получена моделью представления представления «список сущностей», к которой привязана вкладка, а не моделью представления «список рабочих пространств», к которой привязан контроль вкладки.