2013-03-27 61 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