Некоторое время назад я написал это ТАК сообщение в поисках хорошего способа управления взаимодействием пользовательского интерфейса и бизнес-уровня, и мне понравился ответ, который заключался в использовании шаблона MVVM.
Так что я сделал это довольно успешно, но я немного застрял с проблемой, используя этот шаблон. Действительно, в некоторой части моего пользовательского интерфейса одна из моих кнопок должна открывать диалог с деталями элемента, отображаемыми в ListView
.
Я видел это ТАК сообщение , задающее тот же вопрос, но я не совсем понял ответ, и мне интересно, подходит ли он в моем случае. Идея заключалась в том, чтобы использовать инфраструктуру Unity и вызывать окно, связанное с представлением в хранилище, используя, например, App.Container.Resolve<MyChildView>().ShowDialog()
.
Однако моя проблема в том, что я реализовал ViewModels в проекте отдельно от клиентского проекта пользовательского интерфейса. Я сделал это для того, чтобы иметь возможность использовать виртуальные машины от другого клиента, если это необходимо, на более поздней стадии проекта. Первый вопрос, было ли это неправильной реализацией шаблона?
Второй вопрос, поскольку мой проект ViewModels на самом деле отсутствует в проекте клиента, и поэтому у меня нет доступа к глобальной переменной App
. Поэтому я не думаю, что смогу использовать решение, которое нашел в предыдущем сообщении. Есть ли обходной путь?