This question already has an answer here:
Navigate to another page at OnNavigatedTo?
(1个答案)
5年前关闭。
我在导航到本节的下一页时遇到问题:
如果仅在OnNavigatedTo中调用Frame.Navigate方法,则根本无法使用。在调试时,我看到“Test1”和“Test2”,但没有其他反应。
任何想法?项目:Windows Phone Store App 8.1
2)使用分派器
(1个答案)
5年前关闭。
我在导航到本节的下一页时遇到问题:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Debug.WriteLine("Test1");
Frame.Navigate(typeof(LoginView));
Debug.WriteLine("Test2");
}
如果仅在OnNavigatedTo中调用Frame.Navigate方法,则根本无法使用。在调试时,我看到“Test1”和“Test2”,但没有其他反应。
任何想法?项目:Windows Phone Store App 8.1
最佳答案
在OnNavigatedTo方法中添加async关键字,并添加await Task.Delay(10);在Frame.Navigate()调用之前。或者,您可以在Dispatcher中执行Frame.Navigate()。
1)使用延迟
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
await Task.Delay(10);
Frame.Navigate(typeof (LoginView));
}
2)使用分派器
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
Frame.Navigate(typeof(LoginView));
});
}
10-04 15:36