Xaml Xamarin表单:同一应用程序中的多个导航模式
我们可以在一个应用程序中使用多个导航模式吗 在我的app.xaml页面中,我添加了一个函数Xaml Xamarin表单:同一应用程序中的多个导航模式,xaml,xamarin,xamarin.forms,Xaml,Xamarin,Xamarin.forms,我们可以在一个应用程序中使用多个导航模式吗 在我的app.xaml页面中,我添加了一个函数 void SetUpNavigation() { var page = FreshPageModelResolver.ResolvePageModel<LaunchPageModel>(); var navPage = new FreshNavigationContainer(page); MainPage
void SetUpNavigation()
{
var page = FreshPageModelResolver.ResolvePageModel<LaunchPageModel>();
var navPage = new FreshNavigationContainer(page);
MainPage = navPage;
}
void SetUpNavigation()
{
var page=FreshPageModelResolver.ResolvePageModel();
var navPage=新的FreshNavigationContainer(第页);
主页=导航页面;
}
但在用户登录后,我想使用母版详细信息页面。有办法做到这一点吗?是的。您只需再次设置应用程序的
主页
。在我们的项目中,我们使用一个helper类,它有一个方法Restart
,具有以下逻辑:
public static void Restart(View view, NavigationType navtype)
{
// Reset the mainpage depending on the navigation type
if (navtype == NavigationType.RestartWithMasterPage)
{
Application.Current.MainPage = new MasterPage(view);
}
else if (navtype == NavigationType.Restart)
{
Application.Current.MainPage = new NavigationPage(view);
}
else
{
// Just show the page
Application.Current.MainPage = view;
}
}
NavigationType是一个枚举:
public enum NavigationType
{
Normal,
Restart,
RestartWithMasterPage
}
对。您只需再次设置应用程序的
主页
。在我们的项目中,我们使用一个helper类,它有一个方法Restart
,具有以下逻辑:
public static void Restart(View view, NavigationType navtype)
{
// Reset the mainpage depending on the navigation type
if (navtype == NavigationType.RestartWithMasterPage)
{
Application.Current.MainPage = new MasterPage(view);
}
else if (navtype == NavigationType.Restart)
{
Application.Current.MainPage = new NavigationPage(view);
}
else
{
// Just show the page
Application.Current.MainPage = view;
}
}
NavigationType是一个枚举:
public enum NavigationType
{
Normal,
Restart,
RestartWithMasterPage
}
我尝试实现helper类。当用户单击一个按钮(如SignIn)时,它将调用重启函数,并且当前主页将调用一个公共页面SetupMasterDetailNav(){var masterDetail=new FreshMvvm.FreshMasterDetailNavigationContainer();masterDetail.AddPage(“登录”);masterDetail.AddPage(“Register”);masterDetail.Init(“x”);MainPage=masterDetail;return MainPage;}但它仍然在同一页上。我无法更改导航。我尝试实现helper类。当用户单击一个按钮(如SignIn)时,它将调用重启函数,并且当前主页将调用一个公共页面SetupMasterDetailNav(){var masterDetail=new FreshMvvm.FreshMasterDetailNavigationContainer();masterDetail.AddPage(“登录”);masterDetail.AddPage(“Register”);masterDetail.Init(“x”);MainPage=masterDetail;return MainPage;}但它仍然在同一页上。我无法更改导航。