我怎么能等待initializecomponent完成

时间:2015-01-16 21:13:08

标签: c# xaml microsoft-metro

我正在为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()”这样的东西,或者我刚刚在完全错误的轨道上?

1 个答案:

答案 0 :(得分:0)

我认为导航到页面后this.Frame变为非空,因此您可以覆盖OnNavigatedTo来处理它。否则,您可以抓取Frame(Frame)Window.Current.ContentApp课程中的属性或NavigationService实施内容,具体取决于您使用设计模式化应用的程度。