在包含相同区域的多个视图之间共享Prism视图

时间:2013-09-11 10:30:02

标签: silverlight prism silverlight-5.0 prism-4

我正在尝试实现以下模式,其中ContentRegion可以随时加载ModuleShellView或Module2ShellView / Active。

Module2ShellView没有引用View1但是因为View1已经注册到Region1,当该视图加载到ContentRegion但是我希望两个ModuleShellViews共享View1的同一个实例时,它被加载到Module2ShellView中。

我希望能够在两个ModuleShellViews之间切换

MainShell
--ContentRegion
----ModuleShellView
------Region1
--------View1
----Module2ShellView
------Region1
--------View1

1 个答案:

答案 0 :(得分:0)

根据我的理解,您希望View1实例可用于ModuleShellViews。一种方法是在容器中将View1注册为 Singleton ,这样每次加载View1时,容器将始终返回相同实例。

您可以在以下 Prism 指南章节中找到查看注册的更多相关信息:

完成此方案的另一种方法是将View1与执行导航ContentRegion分离。下面是一个可能的查看树设计,可以让View1远离卸载和加载:

MainShell:
* Region1
  - View1
* ContentRegion
  - ModuleShellView
  - Module2ShellView

我希望这会有所帮助。