我为我的观点设置了PartCreationPolicy.NonShared
,但对于某些特定的用户,我可以使用CreationPolicy.Shared
(为了提高性能),我不确定是否可以完成。因为我使用ServiceLocator
来获取Views的实例。像PRISM零件制作政策非共享/与MEF共享
view = ServiceLocator.GetInstance<MyUserControl>("view_contract");
可能是什么造成这种情况的最佳解决方案。我已经在谷歌搜索它,我发现了一些解决方案与CompositionContainer.GetExports
,但
1-我无法得到CompositionContainer
实例在我的ViewModel。
2- In This Post,它下GetExport写了
出口价值的连续调用将返回相同的 情况下,不管是否已经共享或非共享 寿命。
请任何人都可以提出最佳解决方案和一些示例代码片段吗?
看一看ExportFactory (http://blogs.msdn.com/b/bclteam/archive/2011/11/17/exportfactory-amp-lt-t-amp-gt-in-mef-2-alok.aspx)。而不是GetExport返回一个懒惰使用ExportFactory 。 –
2013-02-19 15:04:20
谢谢@PanosRontogiannis,但是我如何在ViewModel中获得'CompositionContainer'?如第1点? – 2013-02-20 06:27:41