Я создаю приложение XAML для метро «Победа 8» и столкнулся с «проблемой».Как я могу ждать выполнения initializecomponent
У меня есть главная страница.xaml с кнопкой и в mainpage.xaml.cs у меня есть свой конструктор с initializecomponent(). когда я нажимаю кнопку, я вызываю этот метод:
private void GoToOtherPage()
{
this.Frame.Navigate(typeof(MySecondPage));
}
и работает просто отлично. Однако в contructor у меня также есть условие, и если true, просто продолжайте, но если это ложь, я хочу запустить GoToOtherPage(). конструктор тогда выглядит somtehing как этот
Public Mainpage()
{
InitializeComponent();
if(....)
{
//do some stuff
}
else
{
GoToOtherPage();
}
}
Поскольку InitializeComponent() не готов, когда это произойдет, я получаю ошибку Object reference not set to an instance of an object.
которой я (думаю) нашли это refferring в this.Frame.
Как я должен сделать это правильно? Поместите что-то наподобие «WaitForThisFormToBeReady()» перед .Navigate или я нахожусь на полном неверном треке здесь?
Я попробовал переопределение, и он не дал мне никаких ошибок, и он запускает код, но не переключает страницу. Я также попробовал this.content = new otherpage(); whick работает, но затем сбой Frame.GoBack() в другой странице. :) – gubbfett
Я думаю, что вы не можете перемещаться внутри другого навигационного вызова ... :) Возможно, вам потребуется запустить его с помощью 'Dispatcher.RunAsync()', чтобы немного задержать его. –