我正在为Win 8地铁构建一个XAML应用程序并遇到了“问题”。
我的mainpage.xaml带有一个按钮,在mainpage.xaml.cs中我的构造函数是initializecomponent()。当我点击按钮时,我调用此函数方法:
private void GoToOtherPage()
{
this.Frame.Navigate(typeof(MySecondPage));
}
并且工作得很好。 但是,在构造函数中我也有一个条件,如果是真的只是继续,但如果它是假的我也想运行GoToOtherPage()。 然后构造函数看起来像这样somtehing
Public Mainpage()
{
InitializeComponent();
if(....)
{
//do some stuff
}
else
{
GoToOtherPage();
}
}
由于在发生这种情况时initializecomponent()没有准备好,我得到错误Object reference not set to an instance of an object.
,我认为它已经找到了这个。框架的错误。
我该怎么做正确的方法?在.Navigate之前加上像“WaitForThisFormToBeReady()”这样的东西,或者我刚刚在完全错误的轨道上?
答案 0 :(得分:0)
我认为导航到页面后this.Frame
变为非空,因此您可以覆盖OnNavigatedTo
来处理它。否则,您可以抓取Frame
至(Frame)Window.Current.Content
,App
课程中的属性或NavigationService
实施内容,具体取决于您使用设计模式化应用的程度。