Мы работаем с приложением, которое использует призму и MVVM для отслеживания операций здравоохранения.PRISM: Передача объекта/событий от родителя к ребенку. Просмотр/VM с PopupRegions
В этом приложении мы зарегистрировали просмотры в первичных областях и сценарии, в которых щелчок по ячейке в сетке (в данном случае xamdatagrid - Infragistics) запустит другую область через конструкции поведения всплывающих окон области призмы.
Таким образом, когда мы нажимаем на ячейку, вызывается операция активации ячейки в коде, стоящем за этим представлением, который затем вызывает метод в модели представления для .RequestNavigate к представлению, зарегистрированному для «вторичной» области всплывающих окон (таким образом, запуск того, что, по-видимому, является диалогом над существующим приложением).
Я пытаюсь передать объект из родительского представления (значения записи в сетке) в дочернее представление, которое запускается во всплывающем окне, и обнаружил, что ни одна из ожидаемых операций не работает.
У меня есть объект-посредник, который мы используем для передачи информации от детей родителям, но это не работает в другом направлении, потому что операции публикации/уведомления для посредника требуют, чтобы дочернее представление было «уже», родитель публикует эту информацию.
Я обнаружил, что структуры агрегатора событий, встроенные в классы Prism.Events, также не работают (я предполагаю из-за того же вопроса публикации/подписки). Я могу опубликовать событие через агрегатор событий из родительского представления и подписаться в дочернем представлении, но я должен запустить дочерний вид «дважды», чтобы связать событие, связанное с операцией агрегатора событий, чтобы фактически запустить.
Я понимаю, что это довольно расплывчато (минус код), но я ищу больше для начальной точки или для тех, кто сталкивается с теми же проблемами. Сценарий пулевой строки выглядит следующим образом:
- Родительский взгляд уже создан в существующем регионе.
- Нажатие на ячейку в родительском представлении создает экземпляр (переходит к) дочернему виду в области всплывающих окон.
- Операция с одним кликом должна передать объект из родительского представления в дочерний, чтобы дочерний вид мог фильтровать свои собственные данные на основе этого объекта.
- Операции строятся с использованием Prism/MVVM.
Любая помощь, предложения, указатели, идеи были бы замечательными.
Это не работает, если PopupRegion ранее не использовался. – Landerah