我知道这个例外已被多次提及,但我在Crittercism中很少看到它。从我读过的关于这个主题的所有文档看来,这段代码是正确的。除了这段代码可能出错之外,在OnNavigatedFrom的方法调用中访问State是否可以?它似乎不太重要,但是调用vm.SaveStateForTombstone(State)会经历几个方法调用,但技术上State仍然在OnNavigatedFrom中使用,对吗?我没有在我的模拟器中看到异常或调试设备。 任何建议表示赞赏!
System.InvalidOperationException 您只能在OnNavigatedTo和OnNavigatedFrom之间使用State 在Microsoft.Phone.Controls.PhoneApplicationPage.get_State() 1
在EHI.National.WP8.Common.EhiPhoneApplicationPageBase.OnNavigatedFrom(NavigationEventArgs e) 2 在Microsoft.Phone.Controls.PhoneApplicationPage.InternalOnNavigatedFrom(NavigationEventArgs e)
以下是代码:
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
if (e.NavigationMode == System.Windows.Navigation.NavigationMode.Back)
{
return;
}
vm.SaveStateForTombstone(State);
}