自动导航到另一个页面

时间:2014-09-19 21:24:24

标签: c# windows-phone-8.1

我有以下问题:

启动后,我的Windows Phone 8.1 App会从localStorage恢复一些设置,并根据它找到的内容,将用户重定向到登录框架或直接尝试使用找到的信息对她进行身份验证。

在我的主要xaml页面中,我扩展了OnNavigatedTo函数,如下所示:

protected async override void OnNavigatedTo(NavigatedEventArgs e)
{
    this.navigationHelper.OnNavigatedTo(e);

    // I added the lines here under
    if(!account.IsSet)
        Frame.Navigate(typeof(LoginPage));
}

所以我希望当它找不到帐户时,用户会被重定向到LoginPage。不幸的是,它没有导航,语句运行,但没有任何反应,用户仍然在主页上。

知道我错过了什么吗?这样做是错误的吗?我应该首先取消当前导航还是取消此类导航?

1 个答案:

答案 0 :(得分:2)

该死的,你只需要制定你的问题,找出在谷歌搜索这个问题的正确方法,然后找到你以前无法解决的问题。

TL; DR;

我说得对,那里似乎有一些调度问题。不需要取消,但使用调度程序重新安排导航直接解决了我的问题:

await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
    Frame.Navigate(typeof(LoginPage));
});