【问题标题】:Hiding a Prism region when using View based Navigation使用基于视图的导航时隐藏 Prism 区域
【发布时间】:2020-03-31 09:08:54
【问题描述】:
<DockPanel LastChildFill="True">
    <UserControl prism:RegionManager.RegionName="{x:Static inf:RegionNames.ShellHeaderRegion}" DockPanel.Dock="Top" />
    <UserControl prism:RegionManager.RegionName="{x:Static inf:RegionNames.ShellStatusRegion}" DockPanel.Dock="Bottom" />
    <UserControl prism:RegionManager.RegionName="{x:Static inf:RegionNames.ShellContentRegion}"/>
</DockPanel>

您好,

我正在构建一个包含多个模块的 WPF Prism 应用程序。一些模块利用了我定义的所有 3 个区域。 (标题、内容、状态)。其他模块仅使用内容区域。问题是当我使用IRegionManager.RequestNavigate() 从一个模块导航到另一个模块时,ShellHeaderRegion 和 ShellContentRegion 仍然包含注入的视图。我希望能够停用这些视图,同时保留在我致电IRegionNavigationJournal.GoBack() 时重新激活这些视图的能力。有没有合适的方法来做到这一点?

【问题讨论】:

    标签: wpf mvvm prism


    【解决方案1】:

    在运行了一些测试并阅读了源代码后,我找到了合适的解决方案。 如果你想隐藏一个区域,你需要创建一个空的 UserControl。由于它没有内容,因此它没有宽度/高度和折叠。

    不幸的是,调用IRegionNavigationJournal.GoBack() 的唯一方法是从IRegion,因为在空的UserControl 上实现INavigationAware 并没有真正的帮助(除非您添加可以调用IRegionNavigationJournal.GoBack() 的UI 元素或事件)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-03
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      相关资源
      最近更新 更多