在RegionManager中找不到Region(使用PRISM)

Jon*_*ell 4 wpf prism cab

我在Prism写一个应用程序.我有一个用户控件,包含两个<ContentControl>控件.这些都分配了区域.用户控件Window正在使用中显示ShowDialog().
我正在使用视图发现将我的一个视图添加到一个区域,另一个我想将视图注入其区域.视图发现工作正常.但是,当我尝试引用其他区域来注入视图时,我得到了异常:

KeyNotFoundException
区域管理器不包含MyRegion区域.

当我查看RegionManagers区域时,我正在尝试注入视图的那个或者正在使用视图发现的区域.

我和壳牌公司在不同的窗口是否重要?我以为只有一个RegionManager,但是我的视图发现必须有两个仍在工作......?或者是因为我在应用程序生命周期的后期创建了两个新区域?或者是因为新区域不在我的MainRegion内?

编辑:
在做了一些挖掘后,看起来像是创建了Region,但它找不到RegionManager的实例,所以它不会被添加.有线索吗?

Jon*_*ell 7

现在排序.我需要在我的演示者类的构造函数中注册区域管理器.
这样我新窗口中的区域就可以找到我的全球区域经理.

RegionManager.SetRegionManager(view as DependencyObject, regionManager);

  • 使用与上面相同的方法,只需传递null作为值.RegionManager.SetRegionManager(视图为DependencyObject,null); (4认同)
  • 您也可以在窗口而不是视图上设置RegionManager.请参阅我的回答:http://stackoverflow.com/questions/1014948/wpf-prism-v2-region-in-a-modal-dialog-add-region-in-code-behind/1019029#1019029 (3认同)
  • 关闭窗口时,需要取消设置RegionManager. (3认同)