2013-03-27 106 views
1

我學習WP編碼和我有解決不了的問題:/NavigationService.navigate空引用異常

try 
{ 
    NavigationService.Navigate(new Uri("/edit.xaml", UriKind.Relative)); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message.ToString(),"Error!",MessageBoxButton.OK); 
} 

edit.xaml是在同一個目錄中MainPage.xaml中

它拋出「NullReferenceException」

+1

我猜你打電話從'MainPage'這個代碼?你能向我們展示完整的callstack嗎? (只是複製/粘貼'ex.ToString()') – 2013-03-27 19:28:33

回答

7

因爲你得到一個NullReferenceException,我的猜測是,你正試圖呼籲NavigationService.Navigate提前,例如在MainPage構造函數。

相反,如果你想immedietly導航時,頁面加載例如,試圖通過將此代碼添加到MainPage類重寫OnNavigatedTo事件做:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
    NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative)); 
} 
2

使用此.... 這解決了我的問題。

this.Loaded += (a, b) => {my code} 
1

這個問題解決了:

(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/edit.xaml", UriKind.Relative)); 
+0

的內容解決了我的問題。謝謝 :) – 2015-12-21 07:11:24