我需要在每次頁面加載時重新創建新頁面實例(當用戶按下「後退」按鈕時)。 所以我overrided OnBackKeyPress
方法:Windows Phone後退按鈕和頁面實例創建
protected override void OnBackKeyPress(CancelEventArgs e)
{
base.OnBackKeyPress(e);
if (NavigationService.CanGoBack) {
e.Cancel = true;
var j = NavigationService.RemoveBackEntry();
NavigationService.Navigate(j.Source);
NavigationService.RemoveBackEntry();
}
}
的問題是,我不能處理的情況下,當用戶按下後退按鈕關閉對話框CustomMessageBox
。我如何檢查它?或者有什麼辦法可以強制頁面實例重新回到歷史狀態?
是的,我想到了邏輯和理解,我需要分開數據初始化和數據重新加載。我關於重寫'OnBackKeyPress'的決定是快速和糟糕的。現在我在頁面構造函數中初始化所有內容(與「NavigationMode.New」是否相同),然後將它重新啓動到OnNavigatedTo。 – Wayne