Windows phone 8 导航服务中的对象引用错误。导航

Windows phone 8 导航服务中的对象引用错误。导航,windows-phone-8,Windows Phone 8,在我的MainPage构造函数中,我使用NavigationService导航到另一个页面,但我得到了错误: 对象引用未设置为对象的实例 有人知道我为什么不能从构造函数中导航吗 public MainPage() { InitializeComponent(); NavigationService.Navigate(new Uri("/test.xaml", UriKind.Relative)); } 您导航到的页面尚未在目录中创建

在我的
MainPage
构造函数中,我使用
NavigationService
导航到另一个页面,但我得到了错误:

对象引用未设置为对象的实例

有人知道我为什么不能从构造函数中导航吗

public MainPage()
    {           
      InitializeComponent();
      NavigationService.Navigate(new Uri("/test.xaml", UriKind.Relative));
    }

您导航到的页面尚未在目录中创建。“Loaded”在对象全部创建后触发,是执行导航到另一个页面等操作的正确位置。

派对有点晚,但是(正如上面@justinangle的评论所提到的),您应该实际使用
OnNavigatedTo
事件,而不是
Loaded
。当加载的
仍能工作时

通常,使用OnNavigatedTo方法而不是创建 已加载事件的事件处理程序。OnNavigatedTo方法更可取,因为每次页面激活时只调用一次。Silverlight框架在每次将元素添加到可视化树时都会引发加载的事件,这在激活页面时可能会发生多次


当我在PhoneApplicationPage_中使用NavigationService时,问题就解决了。我不确定这是否是解决方案,但它对我有效。确切地说,在c'tor Navigaiton期间,服务为空,因为页面尚未导航到。使用“Loaded”事件处理程序或“OnNavigatedTo”方法重写是这里的方法。但是为什么要导航到一个可以立即导航离开的页面呢?谢谢你的解释。导航到第二个页面取决于一些条件。所以它会停留在主页上或导航到另一个