我正在尝试实现以下模式,其中ContentRegion可以随时加载ModuleShellView或Module2ShellView / Active。
Module2ShellView没有引用View1但是因为View1已经注册到Region1,当该视图加载到ContentRegion但是我希望两个ModuleShellViews共享View1的同一个实例时,它被加载到Module2ShellView中。
我希望能够在两个ModuleShellViews之间切换
MainShell
--ContentRegion
----ModuleShellView
------Region1
--------View1
----Module2ShellView
------Region1
--------View1
答案 0 :(得分:0)
根据我的理解,您希望View1
实例可用于ModuleShellViews
。一种方法是在容器中将View1
注册为 Singleton ,这样每次加载View1
时,容器将始终返回相同实例。
您可以在以下 Prism 指南章节中找到查看注册的更多相关信息:
完成此方案的另一种方法是将View1
与执行导航的ContentRegion
分离。下面是一个可能的查看树设计,可以让View1
远离卸载和加载:
MainShell:
* Region1
- View1
* ContentRegion
- ModuleShellView
- Module2ShellView
我希望这会有所帮助。