导航到 Prism WPF 中的新窗口

RAV720

问题 1

我知道有一种方法可以使用InteractionRequestTriggerPopupWindowActionInteractionRequest打开带有自定义视图的弹出对话框但我正在寻找解决方案,例如注册 Window 和 WindowViewModel 进行导航并调用INavigationAsync.Navigate("SomeWindowUri", someParameters)这似乎更简单,更清洁的解决方案。Prism 是否支持这种方法?

问题2

我有要从 MainWindow 显示的主窗口 (MainWindow) 和新窗口 (NewWindow)。我正在尝试在 NewWindow 中定义的区域中显示一些视图。当我使用 IRegionManager.RegisterViewWithRegion 时,它按预期工作。但是当我显示 NewWndow 然后调用 IRegionManager.RequestNavigate 时没有任何反应。当区域在 MainWindow 中时,IRegionManager.RequestNavigate 方法按预期工作。是我的错误还是 Prism 无法在单独的窗口中进行导航?

下面是一个例子:https ://bitbucket.org/equo/prismregionnavigationtest.git 这是 WPF 的 Prism 示例的修改示例:17-BasicRegionNavigation。打开新窗口后,单击任何按钮时没有任何反应,但下面应显示 ViewA 或 ViewB。在 App.CreateShell 方法中取消注释 MainWindow1 后,窗口按预期工作。

RAV720

根据问题 1: Prism 团队正在开发新的对话服务,这正是我想要的。https://github.com/PrismLibrary/Prism/pull/1682已经可以通过prism预览版获得。

根据问题 2:要使其工作,需要创建作用域区域并将其附加到新创建的窗口。

_ScopedRegion = _RegionManager.CreateRegionManager();
RegionManager.SetRegionManager(newWindow, _ScopedRegion);

然后使用它在新窗口中导航。

_ScopedRegion.RequestNavigate("NewRegion", "ViewA");

演示在这里:https : //bitbucket.org/equo/prismregionnavigationtest.git

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章