【问题标题】:Xamarin Pillar navigationXamarin 支柱导航
【发布时间】:2019-01-03 14:51:52
【问题描述】:

处理模型导航的正确方法是什么?

下面的第一种情况按预期工作,但我可以返回到我不想要的登录页面。第二种情况我可以在调试器中看到该页面已加载但从未显示。基本上模型页面保持在顶部。我想我需要在更改页面之前关闭模型页面,或者我需要以不同的方式处理这个问题。我不会弹出到根目录,因为根不再是家,而是主要的。

我真正不会做的是更改根目录,如何?

[编辑] 这似乎有帮助,但是当我卸载模态页面时仍然有闪烁。 await _navigator.PushAsync(vm => { vm.NoHistory = true; });

案例一:

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.

【问题讨论】:

    标签: xamarin.forms navigation


    【解决方案1】:

    一种方法是在登录成功后将 MainPage 完全重置为新页面。

    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

    【讨论】:

    • 是的,我是这样开始的,但后来开始使用 askaiser.mobile.pillar,这就是问题的原因。我很多人不得不放弃支柱并切换回手动,第一个链接看起来不错。
    猜你喜欢
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 2010-09-17
    • 1970-01-01
    • 2017-01-24
    相关资源
    最近更新 更多