【问题标题】:XamarinForms Shell navigation with TabBar items of previous pageXamarin Forms Shell 导航与上一页的选项卡栏项目
【发布时间】:2020-03-12 10:58:27
【问题描述】:

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

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

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

设计是这样的: https://i.imgur.com/tBqHhH8.png

我只有导航栏。

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

【问题讨论】:

  • 所以您在向前导航时想要一个后退按钮?
  • @FreakyAli 是的,当我从上一页登陆到该页面时,我想要导航栏中的后退按钮,并且我想要 BottomTabs - 它们与上一页相同。我希望你能理解我。

标签: xamarin.forms


【解决方案1】:

您可以将您的页面放到 MenuItem 选项卡中。

 <MenuItem Text="About"
        IconImageSource="info.png"
        Command="{Binding AboutPageCommand}" />

背景代码。

 public ICommand AboutPageCommand => new Command(async () => await NavigateToAboytPageAsync());

 async Task NavigateToAboytPageAsync()
  {
     await  Shell.Current.GoToAsync($"aboutPage");
     Shell.Current.FlyoutIsPresented = false;
  }

在 App.xaml.cs 中注册页面

Routing.RegisterRoute("aboutPage", typeof(AboutPage));

【讨论】:

  • 以及如何在 BackButtonBehavior 标签内添加 MenuItem?喜欢&lt;Shell.BackButtonBehavior&gt; &lt;BackButtonBehavior IconOverride="picture_container.png" Command="{Binding ProfileClickCommand}" /&gt; &lt;/Shell.BackButtonBehavior&gt;
  • 您究竟为什么需要这个?我的意思是不需要行为!
  • 请看我编辑的帖子。我添加了图像 Page1 -> Page2。也许你是对的,如果我为 Page1 和 Page2 使用 TabBar,我不需要 BackButtonBehavior。我试图在 AppShell 中添加另一个 TabBar 块,但我没有返回按钮,我也没有空间添加 MenuItem。我担心的另一个问题是当用户单击cs“学习”然后返回到活动时,它一直显示第2页,而不是第1页..
【解决方案2】:

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

IsTabStop,bool类型,表示tab中是否包含Tab 导航。它的默认值为真,当它的值为假时 选项卡导航基础结构忽略选项卡,无论是否 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

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 2021-03-15
    • 2021-12-09
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多