我试图在AppShell.xaml中使用MenuFlyoutItem
和MenuFlyoutSubItem
添加一个级联菜单,但它不起作用。
这里的代码
<Shell.FlyoutHeader >
<VerticalStackLayout>
<Label Text="MPC-Calculator"
FontAttributes="Bold"></Label>
</VerticalStackLayout>
</Shell.FlyoutHeader>
<MenuFlyoutItem Text="Open"/>
<MenuFlyoutSubItem Text="Send to">
<MenuFlyoutItem Text="Bluetooth" />
<MenuFlyoutItem Text="Desktop (shortcut)" />
<MenuFlyoutSubItem Text="Compressed file">
<MenuFlyoutItem Text="Compress and email" />
<MenuFlyoutItem Text="Compress to .7z" />
<MenuFlyoutItem Text="Compress to .zip" />
</MenuFlyoutSubItem>
</MenuFlyoutSubItem>
<FlyoutItem Title="MPC" Icon="home_icon.png" >
<ShellContent
Title="MPC-Calculator"
ContentTemplate="{DataTemplate local:MainPage}"/>
</FlyoutItem>
<FlyoutItem Title="MPC - File Demo" Icon="add_icon.png">
<ShellContent ContentTemplate="{DataTemplate page:MPCFileDemo}"/>
</FlyoutItem>
<FlyoutItem Title="File Open Test" Icon="file_open.png">
<ShellContent ContentTemplate="{DataTemplate page:TestView}"/>
</FlyoutItem>
<MenuFlyoutSeparator />
<MenuFlyoutSeparator />
<FlyoutItem Title="Settings" Icon="tab_settings.png">
<ShellContent ContentTemplate="{DataTemplate page:SettingsView}"/>
</FlyoutItem>
<ShellContent Title="About"
Icon="info.png"
ContentTemplate="{DataTemplate page:AboutView}" />
下面是输出结果。如您所见,显示了<MenuFlyoutItem Text="Send to" />
,当我单击它时,无法显示子元素。
1条答案
按热度按时间hzbexzde1#
当.NET MAUI桌面应用程序被添加到NavigationPage或Shell应用程序中托管的任何
ContentPage
时,它们将显示一个包含菜单项的菜单栏。以下是xaml代码供您参考:有关详细信息,请参阅Display a menu bar in a .NET MAUI desktop app。
您的要求是在
FlyoutItem
下显示子项,如下面的代码片段所示。不幸的是,这是一个功能请求:Feature Request New Navigation Bar to Mimic win ui Behavour In Shell,它还没有像@Shaw指出的那样被实现。你可以跟踪这个线程。