Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml Xamarin表单:同一应用程序中的多个导航模式_Xaml_Xamarin_Xamarin.forms - Fatal编程技术网

Xaml Xamarin表单:同一应用程序中的多个导航模式

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

我们可以在一个应用程序中使用多个导航模式吗

在我的app.xaml页面中,我添加了一个函数

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;}但它仍然在同一页上。我无法更改导航。