ВОПРОС 1
Я знаю, что есть способ открыть всплывающее диалоговое окно с пользовательским представлением, используя InteractionRequestTrigger , PopupWindowAction и InteractionRequest . Но я ищу решение, такое как регистрация Window и WindowViewModel для навигации и вызов INavigationAsync.Navigate ("SomeWindowUri", someParameters) . Это кажется намного более простым и чистым решением. Поддерживает ли Prism такой подход?
ВОПРОС 2
У меня есть главное окно (MainWindow) и новое окно (NewWindow), которое будет отображаться из MainWindow. Я пытаюсь отобразить какой-то вид в регионе, который определен в NewWindow. Когда я использую IRegionManager.RegisterViewWithRegion, он работает как положено. Но когда я отображаю NewWndow и затем вызываю IRegionManager.RequestNavigate, ничего не происходит. Метод IRegionManager.RequestNavigate работает должным образом, когда регион находится в MainWindow. Это моя ошибка или Prism не может выполнять навигацию в отдельном окне?
Вот пример: https://bitbucket.org/equo/prismregionnavigationtest.git
Это модифицированный пример примера Prism для WPF: 17-BasicRegionNavigation. После открытия нового окна при нажатии любой кнопки ничего не происходит, но ViewA или ViewB должны отображаться ниже. После раскомментирования MainWindow1 в методе App.CreateShell окно работает должным образом.