Даже если 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()
- Сбой при вызове
NavigationService.GoBack()
в результате WebException
брошенного вmy HTTPWebRequest
, когда Интернет недоступен [1] - Работает нормально, если Интернет доступен, и я звоню
NavigationService.GoBack()
, когда мой HTTPWebRequest
получил результаты, проанализировал их и отобразил их.
Моя теория состоит в том, что я не могу вызвать GoBack()
слишком рано после перехода со страницы на другую ... Мой вопрос: Как программно вернуться обратно в стек навигации, когда HTTPWebRequest
не удается загрузить?
Редактировать: я решил сделать это по-другому, но я думаю, что мои проблемы могут быть связаны с навигационной анимацией и инструментарием Windows Phone C # (я использую февраль 2011 года))
[1] Подробности моего кода для случая 2:
У меня есть простой HTTPWebRequest
.Мой обратный вызов делает это, и мое приложение падает в режиме полета.Ответственна строка NavigationService.GoBack()
, хотя NavigationService.CanGoBack
возвращает true
.
try
{
response = request.EndGetResponse(result);
}
catch (WebException)
{
Dispatcher.BeginInvoke(() =>
{
NavigationService.GoBack();
});
}
Я также пытался использовать Deployment.Current.Dispatcher.BeginInvoke()
.