У меня есть приложение WPF, в котором я использую шаблон MVVM.
Я активирую виртуальную машину для действий, которые требуют ввода данных пользователем и, следовательно, необходимо активировать представления из виртуальной машины.
Я начал разделять виртуальные машины на отдельный компонент / сборку, частично потому, что я вижу их как часть для тестирования модулей, частично потому, что представления должны полагаться на ВМ, а не наоборот.Но когда мне нужно вызвать окно, оно не известно виртуальной машине.
Все находки, которые я обнаружил, помещают виртуальную машину в компонент WPF / App, что устраняет проблему.
В этой статье рекомендуется хранить их в отдельных слоях: http://waf.codeplex.com/wikipage?title=Architecture%20-%20Get%20The%20Big%20Picture&referringTitle=Home
На мой взгляд, у меня есть следующие варианты:
Переместить виртуальные машины в сборку WPF / App, чтобыразрешить виртуальным машинам получать прямой доступ к окнам.
Размещать интерфейсы представлений в сборке VM, реализовывать представления в сборке WPF / App и регистрировать соединение через IOC или альтернативные способы.
Подать «запрос» от ВМ на какой-нибудь механизм / шину, которая направляет запрос (но какой механизм!? Например, что-то в Prism?!)
Какая рекомендация?
Спасибо за любые комментарии,
Андерс, Дания