Я использую PRISM и MVVM в своем модульном приложении Silverlight. Я все еще пытаюсь выяснить, как правильно делать взаимодействия в стиле MVVM, и 2 метода, которые предлагает PRISM и примеры, мне не нравятся по разным причинам.
Метод 1 (ПРИЗМА): использовать другой адаптер региона. В основном, это включает в себя прикрепленные свойства на контейнере и введение вида в регион. Это работает почти на 100%, но недостатком этого метода является то, что нет хорошего способа сообщить результаты. Я могу использовать EventAggregator, но что-то не так, чтобы вызывать событие с данными после завершения взаимодействия.
Метод 2 (ПРИЗМА): использовать InteractionRequest. Это включает триггерное действие и какой-то большой шаблон XAML, который я должен повторять при каждом просмотре.
Я думаю о том, чтобы создать что-то собственное, что потребовало бы создания моего собственного элемента управления, который должен быть добавлен к каждому представлению, но с очень небольшим количеством XAML и каким-то IPopupService, к которому я могу привязать этот элемент управления. Я могу передать все необходимые данные через PopupService, но для того, чтобы фактически выполнить действие POPUP - мне нужно вызвать метод для этого элемента управления, и он разваливается в MVVM
Интересно, как вызвать метод управления в MVVM, где view не должен знать о VM?