Windows 8 Metro 용 XAML 응용 프로그램을 빌드하고 "문제"가 발생했습니다.initializecomponent가 완료 될 때까지 기다릴 수있는 방법
버튼이있는 mainpage.xaml이 있고 mainpage.xaml.cs에 initializecomponent()가있는 생성자가 있습니다. 단추를 클릭하면이 함수를 호출합니다.
private void GoToOtherPage()
{
this.Frame.Navigate(typeof(MySecondPage));
}
잘 작동합니다. 그러나, contructor에서 나는 또한 조건이 있고 참이면 계속 수행하지만 false 일 경우 GoToOtherPage()도 실행하려고합니다. 생성자는 다음의 InitializeComponent 이후이
Public Mainpage()
{
InitializeComponent();
if(....)
{
//do some stuff
}
else
{
GoToOtherPage();
}
}
(같은 somtehing 보이는)이되지 않음 준비 이러한 상황이 발생했을 때, 나는 this.Frame에 refferring되어 발견 한 오류 난 (생각) Object reference not set to an instance of an object.
를 얻을.
어떻게해야합니까? .Navigate 앞에 "WaitForThisFormToBeReady()"와 같은 것을 넣거나 여기에 잘못된 트랙을 넣으시겠습니까?
나는 오버라이드를 시도했지만 오류가 발생하지 않았고 코드를 실행하지만 페이지를 전환하지 않습니다. 나는 또한 this.content = new otherpage()를 시도했다; 윙윙 거림은 작동하지만 다른 페이지에서는 Frame.GoBack()이 충돌합니다. :) – gubbfett
다른 탐색 호출의 내부를 탐색 할 수 없다고 생각합니다 :) 조금 지연시키기 위해'Dispatcher.RunAsync()'를 사용하여 실행해야 할 수도 있습니다. –