Xamarin.Forms Shell 选项卡仅显示列表中的最后一个选项卡

Posted

技术标签:

【中文标题】Xamarin.Forms Shell 选项卡仅显示列表中的最后一个选项卡【英文标题】:Xamarin.Forms Shell Tabs only showing last Tab in the list 【发布时间】:2019-06-01 15:43:04 【问题描述】:

我正在将现有代码迁移到 Xamarin Forms 4.0 Shell,以前我使用的是 TabbedPage,但现在我想使用 Shell 选项卡。

以下是迁移后代码的样子。我注意到的是它只显示一个顶部选项卡,该选项卡在列表中具有最后一个条目。就我而言,它只显示 Tab2。

<Shell xmlns="http://xamarin.com/schemas/2014/forms"
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
      xmlns:views="clr-namespace:App.Views.Tabs;assembly=App"
      x:Class="App.Views.AppShell"
      x:Name="self">
  <TabBar>
       <Tab>
            <ShellContent>
              <views:Tab1Page BindingContext="x:Reference self" Title="Tab1" />
              <views:Tab2Page BindingContext="x:Reference self" Title="Tab2"/>
            </ShellContent>
        </Tab>
   </TabBar>
   
</Shell>

【问题讨论】:

你想在上面看到两个标签吗? 将每个ContentPage放入&lt;tab&gt;标签 @mshwf 将 ContentPage 放在单独的 &lt;tab&gt; 中会给我底部标签。相反,我需要顶部的标签。 能否分享一个基本的演示,以便我们进行测试? 【参考方案1】:

试试下面的代码:

<Shell>
...   
   <Tab>
        <ShellContent Title="Tab1">  <!-- title in the tab -->
            <views:Tab1Page Title="Tab1" BindingContext="x:Reference self"/>
                        <!-- Title in the navigation bar -->
        </ShellContent>
        
        <ShellContent Title="Tab2">
            <views:Tab2Page Title="Tab2" BindingContext="x:Reference self"/>
        </ShellContent>
    </Tab>
...
</Shell>

微软文档

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/tabs

【讨论】:

如果它回答了您的问题或对您有帮助,请通过upvote ▲/✅ 告诉我,否则您可以给我留下反馈/评论。

以上是关于Xamarin.Forms Shell 选项卡仅显示列表中的最后一个选项卡的主要内容,如果未能解决你的问题,请参考以下文章

使用 Xamarin.Forms Shell 时主选项卡是不是可以显示在顶部

Xamarin Forms Shell 如何使用自定义渲染器自定义选项卡

Xamarin Forms Shell - 一次加载每个选项卡 - 急切加载而不是延迟加载

Xamarin.Forms Shell:有没有办法使用 GoToAsync 和 Routing 导航到选项卡,并在那里推送页面

Xamarin.Forms Shell 在汉堡菜单中将 Flyout Menu 与 MenuItem 组合并排序

Xamarin.Forms:处理导航工具栏按钮(Shell)