【发布时间】:2011-06-16 16:08:12
【问题描述】:
我是一个 PRISM 新手,但我已经阅读了帮助文档,似乎无法找到如何实现以下目标(这是一个 WPF 应用程序)
我有一个Shell(窗口),它有两个区域,分别称为“region1”和“region2”。
在我唯一一个模块的Initialize 方法中,我在每个区域注册了相同的视图:
regionViewRegistry.RegisterViewWithRegion("Region1", typeof(View1));
regionViewRegistry.RegisterViewWithRegion("Region2", typeof(View1));
当我运行它时,此时一切正常,因为它创建了 View1 的 2 个单独实例,并在每个区域放置一个。
现在在View1 我已经声明了它自己的区域用于注入小的子视图
<ItemsControl Name="MainRegion" cal:RegionManager.RegionName="MainRegion" />
现在,当我运行我非常简单的 PRISM 应用程序时,我收到以下异常消息:
"给定名称的区域已经存在 注册:MainRegion”
这表明如果该视图声明了自己的区域,则我不能拥有同一视图的多个实例。
这样对吗?
似乎是一个巨大的限制。
我希望我的应用程序高度模块化,并让视图由其他视图(通过区域)等组成。
还是我误读了文档?
【问题讨论】: