1

我正在尝试使用freshMvvm方法将用户从该方法中登录的时间更改FreshNavigationContainer为,但没有发生任何事情。FreshMasterDetailNavigationContainerSuccessfulLoginPushNewNavigationServiceModal

    public void SuccessfulLogin()
    {
        App.IsLoggedIn = true;
        var masterDetailNav = new FreshMasterDetailNavigationContainer();
        masterDetailNav.Init("Menu");
        masterDetailNav.AddPage<ProfilePageModel>("Profile", null);
        CoreMethods.PushNewNavigationServiceModal(masterDetailNav);
    }

编辑:我只是注意到使用此方法后导航不再起作用。

4

1 回答 1

0

您需要使用CoreMethods.SwitchOutRootNavigation

首先设置你的 NavigationStacks

public class NavigationStacks
{
    public static string LoginNavigationStack = "LoginNavigationStack";
    public static string MainAppStack = "MainAppStack";
}

在您 App.xaml.cs 中定义导航

FreshNavigationContainer loginMain;
FreshMasterDetailNavigationContainer masterDetailNav;

var loginPage = FreshPageModelResolver.ResolvePageModel<UserLoginPageModel>();
loginMain = new FreshNavigationContainer(loginPage, NavigationStacks.LoginNavigationStack);

var masterDetailNav = new FreshMasterDetailNavigationContainer(NavigationStacks.MainAppStack);
masterDetailNav.Init("Menu");
masterDetailNav.AddPage<ProfilePageModel>("Profile", null);

然后在您的登录视图模型中

public void SuccessfulLogin()
{
    App.IsLoggedIn = true;
    CoreMethods.SwitchOutRootNavigation(NavigationStacks.MainAppStack);
}
于 2017-11-16T02:36:22.357 回答