在 Xamarin.Forms 中同时使用 TabBar 和 Flyout

问题描述

我对 Xamarin 比较陌生,因此决定在我的第一个移动应用项目中试用 Xamarin.Forms。但是,我在尝试同时显示 Flyout 和 TabBar 时遇到了问题。所以我在这里问,如果,首先可能吗?

我想要实现的是:

  • 我有两个 TabBar 页面,“Trainer”和“Reference”
  • 我希望“培训师”页面(只有这个页面)在活动时有一个弹出菜单左上角的汉堡按钮)。这是因为此页面中有子页面,例如“程序集”、“以太网”等...
  • Flyout 中选定的条目将被加载到 Trainer TabBar 页面(如果可能?)

谢谢。

来自 AppShell.xaml 的代码片段:

<TabBar>
    <ShellContent Title="Trainer" Icon="icon_workstation.png" ContentTemplate="{DataTemplate local:TrainerPage}" />
    <ShellContent Title="Reference" Icon="icon_resource.png" ContentTemplate="{DataTemplate local:ReferencePage}" />
</TabBar>

<FlyoutItem Title="PC Assembly" Icon="icon_Wrench.png">
    <ShellContent ContentTemplate="{DataTemplate local:AssemblyPage}" />
</FlyoutItem>
<FlyoutItem Title="Ethernet Wiring" Icon="icon_ethernet.png">
    <ShellContent ContentTemplate="{DataTemplate local:EthernetWiringPage}" />
</FlyoutItem>
<FlyoutItem Title="OS Installer Maker" Icon="icon_usb.png">
    <ShellContent ContentTemplate="{DataTemplate local:InstallerMakerPage}" />
</FlyoutItem>
<FlyoutItem Title="Windows Installation" Icon="icon_os.png">
    <ShellContent ContentTemplate="{DataTemplate local:WindowsInstallPage}" />
</FlyoutItem>
<FlyoutItem Title="Windows (DHCP) Configuration" Icon="icon_settings.png">
    <ShellContent ContentTemplate="{DataTemplate local:WindowsConfigurationPage}" />
</FlyoutItem>

培训师(TabBar)页面

enter image description here

参考(TabBar)页面

enter image description here

解决方法

有人设法在另一个平台上回答了我的相同问题,我认为最好在这里分享。

通过使用以下代码片段,我能够实现我想要做的事情:

<FlyoutItem Title="About" Icon="icon_about.png">
    <Tab Title="item_1">
        <ShellContent Route="AboutPage" ContentTemplate="{DataTemplate local:page_1}" />
    </Tab>
    <Tab Title="item_2">
        <ShellContent Route="AboutPage" ContentTemplate="{DataTemplate local:page_2}" />
    </Tab>
</FlyoutItem>
<FlyoutItem Title="Browse" Icon="icon_feed.png">
    <ShellContent Title="page_1" Route="ItemsPage" ContentTemplate="{DataTemplate local:ItemsPage}" />
</FlyoutItem>

我所取得的成果的演示:

here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...