private void webBrowser_NavigationFailed(object sender, NavigationFailedEventArgs e)
{
Debug.WriteLine("Navigation Failed");
if (!Utils.IsNetworkAvailable())
{
MessageBoxResult result = MessageBox.Show("Please go to Settings and enable your network connection.",
"No network connection", MessageBoxButton.OK);
if (result == MessageBoxResult.OK)
{
Dispatcher.BeginInvoke(() =>
NavigationService.Navigate(new Uri("/TutorialPage.xaml", UriKind.Relative))); //TODO: Doesnt work
}
}
}
这个可以定位吗?我想转到以前的xaml页面,而不是网页。
提前谢谢你。
发布于 2014-04-01 10:40:35
我试过你的代码了,运行正常。以下是我的简单例子。您可以在NavigationFailedEvent中导航--问题是您永远无法到达那里。
当我尝试这个问题时,最主要的问题是仿真器--可能是由于互联网连接是如何实现的。例如:
web.Navigate(new Uri(@"http://nosite.azd", UriKind.Absolute));
这个导航在我的模拟器上没有失败(我被重定向到某个地方),但是当我在设备上测试它时,它失败了。
所以试着在设备上测试你的应用程序。但是,海事组织在导航(加载Webbrowser)之前检查互联网连接要好得多,而不是等待导航失败(这可能是额外的检查)。
此外,您不需要通过Dispatcher导航,因为您的代码运行在主线程上。
https://stackoverflow.com/questions/22792531
复制