Page.OnNavigatedFrom(NavigationEventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
protected:
virtual void OnNavigatedFrom(NavigationEventArgs ^ e) = OnNavigatedFrom;
void OnNavigatedFrom(NavigationEventArgs const& e);
protected virtual void OnNavigatedFrom(NavigationEventArgs e);
function onNavigatedFrom(e)
Protected Overridable Sub OnNavigatedFrom (e As NavigationEventArgs)
參數
覆寫程式碼可以檢查的事件資料。 事件資料代表已卸載目前 Page的導覽。
備註
當您在應用程式中的頁面之間巡覽時,預設會叫用 OnNavigatedFrom。 您可以覆寫此方法,並從 NavigationEventArgs 取得導覽的相關資訊,並採取應用程式所需的任何動作。 不過,您應該避免取消註冊事件處理常式或執行其他清除來變更頁面的狀態,特別是在暫停時呼叫 Frame.GetNavigationState 的應用程式。
暫停時
除了在頁面之間巡覽時叫用之外,如果Application.Suspending事件處理常式中呼叫Frame.GetNavigationState,就會叫用 OnNavigatedFrom 方法。
雖然使用 OnNavigatedFrom 來取消註冊 OnNavigatedTo中註冊的事件處理常式似乎很自然,但如果您的 app 在暫停時儲存其狀態,可能會導致問題。 暫停時儲存狀態通常牽涉到呼叫 Frame.GetNavigationState,然後呼叫目前頁面上的 Page.OnNavigatedFrom,以通知頁面保存/序列化它在返回流覽或解除凍結時保留的任何狀態。 如果應用程式已暫停,然後繼續 (而不終止並重新啟動) ,則不會在繼續時重新註冊 OnNavigatedFrom 中取消註冊的任何事件處理常式,因為不會在繼續時呼叫 Page.OnNavigatedTo。
若要避免這個問題,您應該改用 On NavigationFrom 或 Unloaded 事件,這只會在實際導覽上呼叫,以取消註冊事件處理常式並執行其他清除。