我爲我的觀點設置了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