【发布时间】: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"隐藏了导航栏,但顶部的选项卡仍然可见。另一种思考方式是:我想在运行时用不同的<ShellContent>替换<Tab>的<ShellContent>。如果我可以隐藏top tab bar,那么只需将多个<ShellContent>元素添加到<Tab>,这个功能就很简单了。
标签: xamarin.forms xamarin.forms.shell xamarin.shell