【问题标题】:Is there a way to hide the TOP tab bar?有没有办法隐藏顶部标签栏?
【发布时间】:2020-05-20 23:00:36
【问题描述】:

我正在使用 Xamarin.Forms Shell,并且底部标签栏导航没有弹出窗口。

<TabBar Route="tabs">
        <Tab Title="Page1" Route="page1" Icon="page1.png">
            <ShellContent ContentTemplate="{DataTemplate local:Page1}" />
        </Tab>
        <Tab Title="Page2" Route="page2" Icon="page2.png">
            <ShellContent Route="page2A" ContentTemplate="{DataTemplate local:Page2A}" />
            <ShellContent Route="page2B" ContentTemplate="{DataTemplate local:Page2B}" />
        </Tab>
        <Tab Title="Page3" Route="page3" Icon="page3.png">
            <ShellContent ContentTemplate="{DataTemplate local:Page3}" />
        </Tab>
</TabBar>

我希望使用 GoToAsync("tabs/page2/page2A") 和 GoToAsync("tabs/page2/page2B")以编程方式确定 page2 选项卡的内容

这样,当用户在选项卡之间导航以显示哪个 ShellContent(例如 page2A 或 page2B)时,应该有持久性。

该行为工作正常,但我想隐藏允许用户在两​​个 ShellContent 页面之间导航的 TOP 选项卡栏。有没有办法在 Xamarin.Forms Shell 中做到这一点?

【问题讨论】:

  • ** 我想隐藏允许用户在两​​个 ShellContent 页面之间导航的 TOP 选项卡栏。**,我不确定你的意思,你的意思是你不想用户选择Page2A和Page2B,只使用GoToAsync("tabs/page2/page2A")GoToAsync("tabs/page2/page2B")导航?您可以尝试使用Shell.NavBarIsVisible="False" 来获取ShellContent。
  • 不,NavBarIsVisible="False" 隐藏了导航栏,但顶部的选项卡仍然可见。另一种思考方式是:我想在运行时用不同的&lt;ShellContent&gt; 替换&lt;Tab&gt;&lt;ShellContent&gt;。如果我可以隐藏top tab bar,那么只需将多个&lt;ShellContent&gt; 元素添加到&lt;Tab&gt;,这个功能就很简单了。

标签: xamarin.forms xamarin.forms.shell xamarin.shell


【解决方案1】:

我找不到使用路线的方法。可以通过以下方式实现所需的行为:

(Shell).CurrentItem.Navigation.PushAsync({desired_content});

通过推送到CurrentItem 的导航,可以更新选项卡中的内容,并在用户在底栏选项卡之间导航时保​​持不变。

【讨论】:

  • 看来您的问题有一种解决方法,请记得将您的回复标记为答案,有利于他人找到此回复。
猜你喜欢
  • 2020-11-04
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 1970-01-01
相关资源
最近更新 更多