3
所以我在WPF Prism應用程序中有兩個單獨的視圖。我怎樣才能通過依賴注入將兩個視圖中的ViewModel
的相同實例注入到視圖中?WPF Prism將相同的viewmodel實例注入到兩個視圖中
所以我在WPF Prism應用程序中有兩個單獨的視圖。我怎樣才能通過依賴注入將兩個視圖中的ViewModel
的相同實例注入到視圖中?WPF Prism將相同的viewmodel實例注入到兩個視圖中
(我假設你正在使用Unity爲你直接提到DI,而不是說「導入」或類似)
嗨,
你必須註冊視圖模型爲單(使用ContainerControlledLifetimeManager )在容器中,並照常注射。這可確保您在請求它時獲得相同的實例。 在這種情況下,有效的方法可能是使用命名註冊,以防您想要在別處注入相同的VM,但您不需要相同的實例。
This article解釋瞭如何做到這一點。
非常感謝。實際上,ExternallyControlledLifetimeManager是我真正需要的。你送我正確的方向。 – NVM 2010-10-18 13:59:39
一些DI框架將允許您創建命名實例。如果單身人士不是你想要的,你可以使用這些。 – 2015-03-04 21:43:37