我正在使用C#Visual Studio 2013 for Windows,当我尝试调试时,会发生以下错误:“对象引用未设置为对象的实例”:
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.Frame.Navigate(typeof(WelcomePage));
}
}
问题出在导航线上。我该如何解决这个问题?
答案 0 :(得分:3)
构造函数用于两件事,实际构建对象(分配内存等,由框架为您完成)并初始化数据,事件处理程序等。其他任何东西都不应该在其中完成,当然也不像页面导航。
此时可能不会创建Frame对象,并且您无论如何都不应该使用它。相反,设置一个事件:
或者:
<Page ...
Loaded="Page_Loaded"/>
或:
public MainPage()
{
this.InitializeComponent();
Loaded += Page_Loaded;
}
然后有这样的功能:
private void Page_Loaded (object sender, RoutedEventArgs e)
{
this.Frame.Navigate(typeof(WelcomePage));
}
除了更好的练习外,这可能会解决你的例外问题。
答案 1 :(得分:0)
这种情况最有可能发生,因为Frame
在您致电null
时仍然是Navigate
我建议您将此代码移至其中或添加无效检查。