我的shell由两个区域RootContent和RootMenu组成.我的RegionManager.Regions能够很好地看到这两个区域,并且应用程序正确运行.
当我在RootContent中的一个视图打开一个ChilDWindow时,问题就开始了,它包含更多两个区域,如下所示:
<ContentControl Region:RegionManager.Regionname="WOFSCustomerLookup" /><ContentControl Region:RegionManager.Regionname="WOFSCustomerVIEw" />
这个具有上述XAML的VIEw的viewmodel,即使继承并正确解析,IRegionManager.Regions集合也不包含上面的两个新区域,只包含RootContent和RootMenu.
更多信息
这是我的ChilDWindow如何被调用(它称为“视图”):
ChilDWindow editor = this.container.Resolve<WorkOrderFIEldServiceEditor>();editor.show();
这是我的viewmodel的构造函数:
public WorkOrderFIEldServiceviewmodel(IUnityContainer container,IRegionManager regionManager){ this.container = container; this.regionManager = regionManager; // Still have just the two Root regions: // this.regionManager.Regions[]}
我错过了什么吗?
解决方法 很确定问题是因为你没有通过Prism显示WorkOrderFIEldServiceEditor视图,而只是通过容器获取它的实例,然后直接在它上面调用Show方法.所以,Prism并没有真正参与其中.通过引导程序创建主Shell时,将在区域管理器中创建视图中定义的区域.因此,您需要查看如何使用Prism导航到d出窗口,而不是直接调用Show方法.签出StockTrader参考应用程序中的RegionPopupBehaviors.cs文件.
http://msdn.microsoft.com/en-us/library/ff921074(v=PandP.40).aspx
总结以上是内存溢出为你收集整理的silverlight – RegionManager.Regions从不包含我的ChildWindow区域全部内容,希望文章能够帮你解决silverlight – RegionManager.Regions从不包含我的ChildWindow区域所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)