【发布时间】:2020-09-20 12:27:51
【问题描述】:
我是 Prism 的新手,我目前正在使用 Prism 的“区域”概念编写我的第一个应用程序。我目前有一个包含单个区域的Shell 应用程序,我在其中显示在单独模块中定义的视图。此视图有两个自己的区域,Subregion1 和 Subregion2,它们显示模块中定义的两个视图。
这一切正常,视图和子视图显示在正确的位置。但是,当我尝试在任何视图或子视图的视图模型中查找其中一个子视图时(使用 regionManager.Regions["Subregion1"];),我收到了错误:
The region manager does not contain the SiteManager.SiteList region.
我最初认为这可能是有多个IRegionManagers 实例的问题,但我读过的大部分文档都表明提供了IRegionManager 的全局实例,除非特别指定了作用域IRegionManager请求。
我还尝试了静态RegionManager.UpdateRegions() 和RegionManager.SetRegionManager( .... ) 的各种组合,但无济于事。
关于为什么RegionManager 无法找到我请求的区域的任何想法,即使我可以毫无问题地注册这些区域的视图?
编辑:我正在尝试访问子视图视图模型中的命令中的区域。
【问题讨论】:
-
您是在显示包含它们的视图之前还是之后尝试访问子区域?
-
@AdiLester 之后。就我而言,我在子区域视图的视图模型中访问它们。
标签: c# wpf unity-container prism