我正在嘗試Prism,並創建了一個簡單的應用程序,包括一個帶有Prism區域的主窗口以及兩個「子」視圖(和VM)。每一個這些子視圖有一個按鈕,點擊此簡單地導航到其他視圖,如:如何在使用棱鏡導航時處理視圖?
_regionManager.RequestNavigate("MainWindowRegion", "HomeView");
子視圖和視圖模型實現IDisposable
,在我的DI容器都被賦予了「瞬時」一生。此外,視圖實現IRegionMemberLifetime
(KeepAlive = false)。
儘管這一切,意見沒有得到安置(直到我關閉應用程序)。我錯過了什麼?當我離開它時,如何處理視圖?
或者,它會更簡單註冊子視圖作爲單身人士和初始化他們時,我瀏覽到他們嗎?
如果我理解正確,你真正的問題是,當你導航到另一個視圖,舊的視圖仍然需要內存?你有沒有試過只調用GC.Collect()? – jannagy02
@ jannagy02我剛剛嘗試過(在調用RequestNavigate()之後),但它仍然不會導致視圖被丟棄。 –