即使NavigationService.CanGoBack
回報True
崩潰時,NavigationService.GoBack()
我拋出這些異常:的Windows Phone應用程序中使用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()
- 崩潰如果我打電話
NavigationService.GoBack()
在拋出WebException
結果我HTTPWebRequest
上網時不可用[1] - 工作正常,如果互聯網接入和我打電話
NavigationService.GoBack()
當我HTTPWebRequest
得到的結果,分析它們,並顯示他們。
我的理論是,我不能從一個頁面導航到另一個......我的問題後立即撥打GoBack()
:我如何編程回去了導航堆棧時HTTPWebRequest
加載失敗?
編輯:我決定做另一種方式,但我認爲我的問題可能是由於導航動畫和Windows Phone的C#工具包(我用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()
也。
我的第一個猜測是你必須確保在UI線程上執行NavigationService.GoBack(),但這就是你顯然正在做的事情......你是否檢查過你導航的頁面是否正在加載?如果導致這些異常,可能是那個頁面? –
你說得對。如果我做'NavigationService。GoBack()'而不是'HTTPWebRequest',然後GoBack()在catch中我有相同的異常!但我甚至沒有去過我的'OnNavigatedTo'!如果我有互聯網,一旦請求成功,請執行Web請求並在主線程上調用GoBack,但它工作正常。我的猜測是GoBack失敗,如果它發生得太快?我會更新我的問題 –