【发布时间】:2013-02-03 19:59:52
【问题描述】:
我已经为我的视图设置了PartCreationPolicy.NonShared,但是对于某些特定的用户我可以使用CreationPolicy.Shared(为了提高性能),我不确定是否可以这样做。因为我使用ServiceLocator 来获取视图实例。喜欢
view = ServiceLocator.GetInstance<MyUserControl>("view_contract");
什么是最好的解决方案。我在谷歌上搜索过,我找到了CompositionContainer.GetExports的一些解决方案,但是
1- 我无法在我的 ViewModel 中获取 CompositionContainer 实例。
2-In This Post,GetExport下写的是
连续调用导出的值将返回相同的值 实例,无论零件是否具有共享或非共享 终生。
请任何人提出最佳解决方案和一些示例代码 sn-p 吗?
【问题讨论】:
-
看看 ExportFactory (blogs.msdn.com/b/bclteam/archive/2011/11/17/…)。而不是返回 Lazy
的 GetExport 使用 ExportFactory . -
谢谢@PanosRontogiannis,但我怎样才能在我的视图模型中获得
CompositionContainer?如第 1 点所述?
标签: wpf prism mef containers service-locator