Windows phone 8 登录时自动关闭登录页面
我的应用程序中有以下页面导航:Windows phone 8 登录时自动关闭登录页面,windows-phone-8,windows-phone,windows-phone-8.1,Windows Phone 8,Windows Phone,Windows Phone 8.1,我的应用程序中有以下页面导航: AnyPage -> Login -> Register 用户注册后会自动登录到。因此,如果用户返回登录页面并进行了登录,我希望登录页面自动关闭 我试图将一些代码添加到LoginPage.onNavigatedTo方法中,但不起作用 protected override void OnNavigatedTo(NavigationEventArgs e) { this.navigationHelper.OnNavigat
AnyPage -> Login -> Register
用户注册后会自动登录到。因此,如果用户返回登录页面并进行了登录,我希望登录页面自动关闭
我试图将一些代码添加到LoginPage.onNavigatedTo
方法中,但不起作用
protected override void OnNavigatedTo(NavigationEventArgs e)
{
this.navigationHelper.OnNavigatedTo(e);
if(AccountController.isLogged()){
Frame.GoBack();
}
}
如何操作?OnNavigatedTo和OnNavigatedFrom方法是正在进行的导航操作的一部分。当您尝试启动一个正在进行的新导航时,导航方法将停止并返回false
简单的技巧是:将OnNavigatedTo设置为异步,并在返回之前添加延迟
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
this.navigationHelper.OnNavigatedTo(e);
if(AccountController.isLogged()){
await Task.Delay(1);
Frame.GoBack();
}
}
这样做的原因是:导航是在UI线程上处理的。由于事件方法正在返回,因此不会等待它们,如果您在其中返回任务,则当前调用方将完成其当前任务。等待之后发生的任何事情都将排队给调度员,并在调度员有时间时完成(导航操作完成后立即完成)