处理模型导航的正确方法是什么?
下面的第一种情况按预期工作,但我可以返回我不想要的登录页面。 我可以在调试器中看到的第二种情况是该页面已加载但从未显示。 基本上,模型页面保持在顶部。 我想我需要在更改页面之前关闭模型页面,或者我需要以不同的方式处理这个问题。 我不会弹出根,因为根不再是家而是主要的。
我真的不会做的是改变根,如何?
[编辑] 这似乎有所帮助,但当我卸载模态页面时仍然有闪烁。 等待_navigator。PushAsync(vm => { vm.NoHistory = true; });
案例1:
return viewFactory.Resolve<HomeVM>(); - from APP.cs
await _navigator.PushAsync<LoginVM>();
await _navigator.PushAsync<MainVM>();
案例2:
return viewFactory.Resolve<HomeVM>(); - from APP.cs
await _navigator.PushModalAsync<LoginVM>();
await _navigator.PushAsync<MainVM>(); - Never works.
一种方法是在成功登录时用新页面完全重置主页。
if (string.IsNullOrEmpty(authLoginToken))
MainPage = new LoginPage();
else
MainPage = new RootPage();
更详细的信息,你可以看看下面的线程:
https://github.com/asthanarht/CPXamarin/blob/master/CPMobile/CPMobile/App.cs
https://forums.xamarin.com/discussion/48634/from-login-page-to-main-page