我正在使用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中做到这一点?
我找不到用路由做到这一点的方法。可以通过以下方式实现所需的行为:
(Shell).CurrentItem.Navigation.PushAsync({desired_content});
通过推送到CurrentItem
的导航,可以更新选项卡中的内容,并在用户在底部栏选项卡之间导航时保留。