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);
}