首页 > 解决方案 > XamarinForms Shell 导航与上一页的 TabBar 项

问题描述

在此处输入图像描述我需要创建一个“详细信息”页面,当我从“主”页面单击某个按钮时,它会将我重定向到带有后退按钮的导航栏的“详细信息”页面。代码如下:

protected async Task GoToPage(string route)
{
    await Shell.Current.GoToAsync(route);
}

问题是:如何从我以前的母版页中保留下拉选项卡,以便在我的详细信息页面上显示以及显示?

设计看起来像这样: https ://i.imgur.com/tBqHhH8.png

我只有导航栏。

在我的 AppShell.xaml 中,我为我的“主”页面定义了 TabBar 部分(“主”页面在我的标签栏菜单中是第一个)。我应该为我的“详细信息”页面创建单独的 TabBar 并以某种方式插入导航栏吗?

标签: xamarin.forms

解决方案


您可以在 Tab 标记中设置一个名为IsTabStop的属性,该属性可以保留以前母版页中的 downtab:

IsTabStop,类型为 bool,指示选项卡是否包含在选项卡导航中。它的默认值为 true,当它的值为 false 时,选项卡导航基础结构将忽略选项卡,无论是否设置了 TabIndex。

您可以在特定选项卡上将其设置为false以在该选项卡上保持向下选项卡。

代码示例:

<!-- Your Pages -->
<TabBar>
    <Tab Title="Master" Icon="tab_feed.png" IsTabStop="False">
        <ShellContent ContentTemplate="{DataTemplate local:ItemsPage}" />
    </Tab>
    <Tab Title="About" Icon="tab_about.png" >
        <ShellContent ContentTemplate="{DataTemplate local:AboutPage}" />
    </Tab>
</TabBar>

这是文档:shell/tabs


推荐阅读