NavigationService.navigate空引用exception

我正在学习WP编码,我遇到了无法解决的问题:/

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”

因为你得到一个NullReferenceException ,我的猜测是你试图尽早调用NavigationService.Navigate ,例如在MainPage构造函数中。

相反,如果您想在加载页面时立即导航,请尝试通过将此代码添加到MainPage类来覆盖OnNavigatedTo事件来执行此操作:

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

使用这….这解决了我的问题。

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

这解决了这个问题:

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