我爲我的應用程序使用MVVM Light,並且我還實現了用於返回/在頁面之間的INavigationService。ViewModel事件多次觸發
因此,在一個常見的場景,是這樣的
的MainPage>分類>大紅大紫>數據頁。
在DataPage中,我提出取回結果的請求,並根據回調返回的結果調用.GoBack()方法從堆棧彈出當前頁面並返回Rounds。
我注意到的是,如果我先打DataPage和.GoBack()被調用,然後點擊不同的回合,回調方法將被觸發兩次,如果我回來並再次三次,並且像這樣繼續。
本質上這意味着.GoBack()將被再次調用,並導航導致混亂。我相信這與不清理以前的VM有關,我試圖用SimpleIOC的UnRegister/Register類改變這種行爲,但沒有運氣。
聽起來你,但掛鉤的情況下,當你進入你離開時不脫鉤了。我會從回調中的事件中刪除回調。 – Slepz
@Slepz我試圖做到這一點,現在以另一種方式做了,請檢查我提出的答案並告訴我您的評論。 –