xamarin 在shell中隐藏组分隔符

mftmpeh8  于 2023-04-27  发布在  Shell
关注(0)|答案(1)|浏览(157)

我在一个.NET MAUI应用程序上使用shell进行菜单和路由,我需要隐藏flyoutitem和menuitem之间的分隔线。我使用menuitems在标题栏中有后退箭头,所以它在代码后面调用GoToAsync()。
除此之外,还有两个隐藏的shellcontent项。
Screenshot
下面是XAML代码

<ShellContent
        Shell.FlyoutBehavior="Disabled" 
        FlyoutItemIsVisible="False"
        ContentTemplate="{DataTemplate loading:LoadingPage}"
        Route="loading"
        Title="Loading"
        />
    
    <ShellContent
        Shell.FlyoutBehavior="Disabled"
        FlyoutItemIsVisible="False"
        ContentTemplate="{DataTemplate landing:LandingPage}"
        Route="landing" />
    <ShellContent
        FlyoutItemIsVisible="False"
        Shell.FlyoutBehavior="Disabled"
        ContentTemplate="{DataTemplate startupPage:LoginPage}"
        Route="login" />

    <FlyoutItem FlyoutDisplayOptions="AsMultipleItems" FlyoutItem.IsVisible="True"
                >
        <ShellContent
        Icon="icon_home"
        Title="{utils:Localized FlyoutHomeLabel}"
        ContentTemplate="{DataTemplate local:HomePage}" 
        Route="home"
         />
    </FlyoutItem>
   
    <MenuItem
        Clicked="MenuItem_UserDataClicked"
        Text="User Data"
        IconImageSource="icon_userdata"/>
    <MenuItem
        Clicked="MenuItem_TermsClicked"
        Text="Terms.."
        IconImageSource="icon_terms"
        />
    <MenuItem
        Clicked="MenuItem_SettingsClicked"
        Text="Settings"
        IconImageSource="icon_settings"
        />

    <Shell.MenuItemTemplate>
        <DataTemplate>
        <Grid ColumnDefinitions="50,*" Padding="10">
            <Image Source="{Binding Icon}"/>
            <Label Grid.Column="1" Text="{Binding Text}" />
        </Grid>
        </DataTemplate>
    </Shell.MenuItemTemplate>

先谢谢你了!
隐藏/设置组分隔符样式

vsmadaxz

vsmadaxz1#

您可以删除FlyoutItem中的方法FlyoutDisplayOptions="AsMultipleItems"。此方法将使用分隔线对弹出项进行分组。

相关问题