我正在使用 VS 2013 开发一个简单的 WP8 应用程序。我有一个 MainPage.xaml 并添加了一个名为 Page1.xaml 的新页面。当用户单击“新项目”时,我在屏幕上有一个选项列表,我想打开一个新页面来添加新项目(例如 Page1.xaml)。
在列表选择更改事件中,我编写了以下代码:
private void OptionssList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selection = (MenuItem) e.AddedItems[0];
switch (selection.Id)
{
case 0:
break;
case 1:
break;
case 2:
this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative));
break;
case 3:
break;
default:
break;
}
}
当我尝试调试应用程序时,我注意到 Page1.xaml 的构造函数被调用,如果我有一个 OnNavigatedTo 事件处理程序,它也被调用,但是在这一切之后抛出一个未处理的异常。抛出异常时我看不到任何代码,但是它调用了 Application_UnhandledException 事件处理程序。
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (Debugger.IsAttached)
{
// An unhandled exception has occurred; break into the debugger
Debugger.Break();
}
}
异常详情如下图:
System.NullReferenceException was unhandled
Message: An unhandled exception of type 'System.NullReferenceException' occurred in System.Windows.ni.dll
Additional information: Object reference not set to an instance of an object.
我想知道我是否遗漏了什么。我参考了示例,它也显示了与导航类似的方式,没有注意到任何花哨的东西。