如何在 Flyout 上隐藏 Shell 项

How to hide Shell Item on Flyout

我有一个 Xamarin Forms 项目,其中有一个 ShellItem login,然后它显示了一个带有不同选项卡的 FlyoutItem main

这是我 AppShell

上的代码
<ShellItem Route="login" x:Name="loginItem">
        <ShellContent ContentTemplate="{DataTemplate local:LoginPage}"/>
    </ShellItem>

    <FlyoutItem Title="Home" Route="main" Icon="homepage.png" >
        
            <Tab Icon="search.png">
                <ShellContent  ContentTemplate="{DataTemplate local:CategoryPage}" />
            </Tab>
            <Tab Route="CartPage" Icon="shopping_cart.png">
                <ShellContent  ContentTemplate="{DataTemplate local:CartPage}" />
            </Tab>
            <Tab Route="InvoicePage" Icon="invoice.png">
                <ShellContent  ContentTemplate="{DataTemplate local:InvoicePage}" />
            </Tab>
       
    </FlyoutItem>

    <FlyoutItem Title="Información" Icon="information.png">
        <ShellContent  ContentTemplate="{DataTemplate local:InfoPage}" />
    </FlyoutItem>

    <FlyoutItem Title="Contacto" Icon="contact.png">
        <ShellContent  ContentTemplate="{DataTemplate local:ContactSupportPage}" />
    </FlyoutItem>

这是登录页面,如您所见,我还不想显示弹出项目。

问题出在我的 FlyoutItem“main”上。如果用户不小心按下了“主页”上方的空白 space,它将把他们带到我不希望发生的登录页面。

有什么方法可以隐藏 FlyoutItem 吗?我认为它不会显示,因为我没有将它作为 FlyoutItem 添加到我的 AppShell。

请帮忙,谢谢。

你可以试试这个。

<ShellItem Route="login" x:Name="loginItem" FlyoutItemIsVisible="False" >
    <ShellContent ContentTemplate="{DataTemplate local:LoginPage}"/>
</ShellItem>

文档:

https://docs.microsoft.com/nl-nl/xamarin/xamarin-forms/app-fundamentals/shell/flyout#flyoutitem-visibility