【问题标题】:Go back to PageModel navigartion from PageRenderer从 PageRenderer 返回到 PageModel 导航
【发布时间】:2017-08-29 12:08:10
【问题描述】:

我遇到了一个小问题,我不知道如何在使用 PageRenderer 后返回到我的 PageModel 并继续导航。 我正在尝试在我的应用程序上实现 FacebookLogin,因此我使用 pageRenderer 来设置 facebook 身份验证页面并使用它来获取用户信息。问题是当用户按下登录时,我会处理他的所有信息等等,但是,我绝对不知道在那之后该怎么做才能继续我的导航。

谢谢

编辑

这是我在我的一堂课上尝试过的:

var mainContainer = new FreshMasterDetailNavigationContainer(NavigationContainerNames.MainContainer);
        mainContainer.Init("Menu");
        mainContainer.AddPage<ActivityFeedListPageModel>("ActivityFeed", new User());
        mainContainer.AddPage<ProfilePageModel>("Profile", new User());
        App.Current.MainPage = mainContainer;

之后文档中说你使用CoreMethods.SwitchOutRootNavigation(NavigationContainerNames.MainContainer);,但我不知道如何从这里开始。

【问题讨论】:

    标签: xamarin mvvm xamarin.forms navigation freshmvvm


    【解决方案1】:

    我会尝试使用两个单独的导航堆栈。一个用于登录过程,一个用于主应用程序。你可以看到 FreshMVVM 的原作者的一个例子:

    LoginPage with FreshMVVM

    还值得查看 GitHub 页面,其中还讨论了导航服务。

    Switcing out NavigationStacks on the Xamarin.Forms MainPage


    编辑:与您的更新相关,您可以尝试以下方法。

    CoreMethods 是 FreshBasePageModel 的成员,您的所有 PageModel 都应该已经继承了该成员。这意味着您可以在任何 PageModel 中调用 SwitchOutRootNavigation

    【讨论】:

    • 这就是我所做的,我为登录创建了一个容器,为应用程序的其余部分创建了一个容器。登录完成后我切换堆栈并且它适用于电子邮件登录。我的问题出在 facebook 登录部分,在用户输入他的信息后,我不知道如何在用户登录完成后返回到我的 pagemodel 导航进行切换
    • @RémiHirtz 我更新了与您原始帖子的编辑相关的答案。
    猜你喜欢
    • 2017-07-08
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    相关资源
    最近更新 更多