FreshMvvm PushNewNavigationServiceModal не работает

Я пытаюсь измениться с FreshNavigationContainer в FreshMasterDetailNavigationContainer когда пользователь вошел в метод SuccessfulLogin используя метод freshMvvm PushNewNavigationServiceModal но ничего не происходит

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

Редактировать: я только заметил, что после использования этого метода навигация больше не работает.

1 ответ

Вам нужно использовать 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);

Тогда в вашем логине ViewModel

public void SuccessfulLogin()
{
    App.IsLoggedIn = true;
    CoreMethods.SwitchOutRootNavigation(NavigationStacks.MainAppStack);
}
Другие вопросы по тегам