当用户在方法FreshNavigationContainer中使用SuccessfulLogin中的loggedin时,我试图通过使用freshMvvm方法PushNewNavigationServiceModal将其从freshMvvm更改为PushNewNavigationServiceModal,但是没有发生任何事情。
public void SuccessfulLogin()
{
App.IsLoggedIn = true;
var masterDetailNav = new FreshMasterDetailNavigationContainer();
masterDetailNav.Init("Menu");
masterDetailNav.AddPage<ProfilePageModel>("Profile", null);
CoreMethods.PushNewNavigationServiceModal(masterDetailNav);
}编辑:我只是注意到在使用这种方法之后,导航就不再起作用了。
发布于 2017-11-16 02:36:22
您需要使用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);
}https://stackoverflow.com/questions/44607085
复制相似问题