我想要做的就是在不再需要ViewModel的時候退訂事件。我嘗試實現IDisposable,但沒有人調用Dispose(),而不是Xamarin.Forms和Prism.Forms。如何在使用Xamarin.Forms彈出頁面後處理ViewModel?
我們有一個使用Xamarin.Forms創建的應用程序。我們使用Prism.Forms來執行MVVM。在導航到新頁面時(推入堆棧),Prism.Forms將ViewModel連接到頁面。在返回時(從棧中彈出)ViewModel在一段時間後獲取GarbageCollected。
然而,問題是,在某個時間點,我們有幾個相同類型的ViewModels,對未綁定到View的事件進行預訂。當事件觸發所有這些ViewModel開始做他們的事情。所以我正在尋找一種方法來取消訂閱,不再需要訂閱。
有沒有人有解決方案?
謝謝,我會嘗試。請注意,在調用諸如Dailer屏幕之類的意圖(Android上)時,Disappearing()也會被觸發。所以我必須再次訂閱Appearing()中的事件。 –