首页 > 解决方案 > Xamarin Forms Shell FlyoutItem

问题描述

我想让我的应用程序具有三个弹出菜单选项,如下所示:

配置

收集数据

关于

当用户选择配置弹出菜单选项时,我希望有一个底部组的两个选项卡,上面写着

网络配置------数据配置

我只希望在选择“配置”弹出菜单选项时底部选项卡可见。有没有办法在 Xaml 中执行此操作,或者我是否需要在代码中手动显示和隐藏底部选项卡?

标签: shellxamarin.formsflyout

解决方案


是的,您可以在 Xaml 中执行此操作。您可以ShellContent在每个FlyoutItem.

创建一个新项目,Shell template然后将这些代码添加到 config shell:

 <Shell.FlyoutHeader>
        <Grid BackgroundColor="Black">
            <Label Text="Test"
               TextColor="White"
               FontAttributes="Bold"
               HorizontalTextAlignment="Center"
               VerticalTextAlignment="Center" />
        </Grid>
    </Shell.FlyoutHeader>

    <FlyoutItem Title="Configuration"
                >
        <ShellContent Title="Network Configuration">
            <views:NetworkConfiguration />
            </ShellContent>

        <ShellContent Title="Data Configuration">
            <views:DataConfiguration />
        </ShellContent>


    </FlyoutItem>

    <FlyoutItem Title="Collect Data"
                >
        <Tab>
            <ShellContent Title="Configuration"
                          ContentTemplate="{DataTemplate views:Page2}" />
            <ShellContent Title="Collect Data"
                          ContentTemplate="{DataTemplate views:Page3}" />
        </Tab>
    </FlyoutItem>


    <FlyoutItem Title="About">

        <ShellContent ContentTemplate="{DataTemplate views:AboutPage}" />

    </FlyoutItem>

你可以参考这个例子:shell-example-xamarin.forms


推荐阅读