Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone-通过app.xaml.cs导航服务_C#_Wpf_Xaml_Windows Phone 8_Visual Studio 2013 - Fatal编程技术网

C# Windows Phone-通过app.xaml.cs导航服务

C# Windows Phone-通过app.xaml.cs导航服务,c#,wpf,xaml,windows-phone-8,visual-studio-2013,C#,Wpf,Xaml,Windows Phone 8,Visual Studio 2013,我正在制作一个应用程序,如果你无法从服务器获得响应连接,你会被重定向到一个特殊页面,该页面会告诉你“没有互联网连接你就不能使用你的应用程序” 我通过几个页面和位置使用API请求,从所有这些页面和位置,我都希望得到相同的结果——重定向到那个特殊页面。(所以我不想在调用api请求时使用相同的行为放置try-catch) 现在,我抛出异常,我的想法是在 private void Application_UnhandledException(object sender,ApplicationUnhand

我正在制作一个应用程序,如果你无法从服务器获得响应连接,你会被重定向到一个特殊页面,该页面会告诉你“没有互联网连接你就不能使用你的应用程序”

我通过几个页面和位置使用API请求,从所有这些页面和位置,我都希望得到相同的结果——重定向到那个特殊页面。(所以我不想在调用api请求时使用相同的行为放置try-catch)

现在,我抛出异常,我的想法是在

private void Application_UnhandledException(object sender,ApplicationUnhandledExceptionEventArgs e)
那个里有很多例外,但现在我不知道如何从那个点重新引导你们

如果你认为这是“不对的”,也请告诉我。但是,该应用程序不能脱机运行

(我正在使用Windows Phone 8.0)



编辑:从那一点开始导航是不可能的,应用程序会删除:)

受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e) { if(NetworkInterface.GetIsNetworkAvailable()) { 你的代码。。。。 } 其他的 { MessageBox.Show(“未找到internet连接…请与您的运营商联系…”); }
}

您是否尝试过从那里简单地重定向?也就是说,从未处理的异常回调调用
NavigationService.Navigate()
,尽管您可能希望在此之前确保自己处于UI线程中:
Deployment.Current.Dispatcher.BeginInvoke((操作)(()=>{NavigationService.Navigate(新Uri(“/NetworkErrorPage.xaml”,UriKind.RelativeOrAbsolute)))
抱歉,在发布评论之前没有阅读您的编辑。不过,
BeginInvoke
是否有帮助?@jlahd-dispatcher的观点很好,但是即使我什么也不做,并且我用该方法评论任何代码,应用程序也会自动删除。如果我想使用您的方法,我必须与另一个方法合并(因为在app.xaml.cs中您不能使用
NavigationService.Navigate
):
Deployment.Current.Dispatcher.BeginInvoke((操作)(()=>{(Application.Current.RootVisualAs PhoneApplicationFrame.Navigate(新Uri(“/NoConnection.xaml”,UriKind.RelativeOrAbsolute));}))
是否设置了
e.Handled=true
?如果没有设置,系统将终止应用程序。@jlahd-tx,确实是这样。但是,即使我将其设置为true并将其重定向到该页面,它看起来已经足够破坏了应用程序,我可以看到“noconnection页面”,但它不会对任何事情做出反应。