即使NavigationService.CanGoBack
返回True
,也会NavigationService.GoBack()
抛出这些异常:
A first chance exception of type 'System.ArgumentException' occurred in System.Windows.dll
A first chance exception of type 'System.Reflection.TargetInvocationException' occurred in
这在两种情况下系统地发生,而第三种情况很好:
- 如果我打电话就崩溃
NavigationService.GoBack()
OnNavigatedTo()
- 如果我在 Internet 不可用时
NavigationService.GoBack()
由于WebException
抛出HTTPWebRequest
我的电话而导致崩溃[1] - 如果 Internet 可用并且我在得到结果
NavigationService.GoBack()
时调用HTTPWebRequest
,解析它们并显示它们,则工作正常。
我的理论是,从一个页面导航到另一个页面后我不能GoBack()
太快调用......我的问题:当一个页面加载失败时,如何以编程方式返回导航堆栈?HTTPWebRequest
编辑:我决定用另一种方式来做,但我认为我的问题可能是由于导航动画和 Windows Phone C# Toolkit(我使用 2011 年 2 月版)
[1] 我在案例 2 中的代码详情:
我有一个简单的HTTPWebRequest
. 我的回调会这样做,并且我的应用程序在飞行模式下崩溃。该行NavigationService.GoBack()
负责,即使NavigationService.CanGoBack
返回true
。
try
{
response = request.EndGetResponse(result);
}
catch (WebException)
{
Dispatcher.BeginInvoke(() =>
{
NavigationService.GoBack();
});
}
我也试过使用Deployment.Current.Dispatcher.BeginInvoke()
。