2014-08-29 60 views
0

我在做app,其中如果不能從服務器獲得響應的連接,會被重定向到一個特殊的頁面,它告訴你像「你不能沒有互聯網用戶使用應用程式的東西的NavigationService連接」。的Windows Phone - 通過app.xaml.cs

我通過幾頁的地方,並從他們正在使用的API請求,我想同樣的 - 重定向到特殊頁面。 (所以我不希望把的try-catch具有相同的行爲,每當我打電話API請求)

現在,我拋出異常,我的想法是「抓」這個異常的

private void Application_UnhandledException(object sender,ApplicationUnhandledExceptionEventArgs e) 

異常被扔在那裏,但是現在我不知道,如何從這一點重定向你。

此外,如果你認爲,這是「不對的」,讓我知道了。但是,該應用程序應該不可離線操作。

(我使用的Windows Phone 8.0)


編輯:那麼它是不可能從這一點導航,應用程序滴:)

+0

你有_tried_簡單地從那裏重定向?也就是說,從未處理的異常回調中調用'NavigationService.Navigate()',儘管在這之前你可能想確保你在UI線程上:'Deployment.Current.Dispatcher.BeginInvoke((Action)(()= > {NavigationService.Navigate(新的URI( 「/ NetworkErrorPage.xaml」,UriKind.RelativeOrAbsolute))})' – jlahd 2014-08-29 06:31:18

+0

對不起,張貼評論之前沒有看過你的編輯。儘管如此,它的'BeginInvoke'幫助? – jlahd 2014-08-29 06:32:30

+0

@jlahd - 對調度員來說很好,但即使我什麼也不做,並且我在該方法中評論任何代碼,應用程序都會丟失。如果我想使用你的方法,我必須與另一個方法合併(原因在app.xaml.cs中不能使用'NavigationService.Navigate'):'Deployment.Current.Dispatcher.BeginInvoke((動作)(()=> {(Application.Current.RootVisual如PhoneApplicationFrame).Navigate(新URI( 「/ NoConnection.xaml」,UriKind .RelativeOrAbsolute));}));' – libik 2014-08-29 06:37:52

回答

1

保護覆蓋無效的OnNavigatedTo(NavigationEventArgs E) { 如果(NetworkInterface.GetIsNetworkAvailable()){ 您 代碼.... } 其他 { MessageBox.Show(「沒有INT發現ernet連接...請與您的操作員覈對......「); }}

相關問題