Zobrazení řádku nabídek v desktopové aplikaci .NET MAUI
Řádek nabídek .NET Multi-Platform App UI (.NET MAUI) je kontejner, který představuje sadu nabídek v vodorovném řádku v horní části aplikace v systému Mac Catalyst a Windows.
Každá nabídka nejvyšší úrovně na řádku nabídek, označovaná jako položka řádku nabídek, je reprezentována objektem MenuBarItem . MenuBarItem definuje následující vlastnosti:
Text
, typustring
, definuje text nabídky.IsEnabled
, typuboolean
, určuje, zda je nabídka povolena. Výchozí hodnota této vlastnosti jetrue
.
Tyto vlastnosti jsou podporovány BindableProperty objekty, což znamená, že mohou být cíle datových vazeb a stylovány.
A MenuBarItem může se skládat z následujících podřízených položek:
- MenuFlyoutItem, který představuje položku nabídky, na kterou lze kliknout.
- MenuFlyoutSubItem, která představuje položku podnabídky, na kterou lze kliknout.
- MenuFlyoutSeparator, což je vodorovná čára, která odděluje položky v nabídce.
MenuFlyoutSubItem odvozuje od MenuFlyoutItem, který je odvozen od MenuItem. MenuItem definuje více vlastností, které umožňují zadat vzhled a chování položky nabídky. Vzhled položky nabídky nebo dílčí položky lze definovat nastavením Text
a IconImageSource
vlastností. Odpověď na položku nabídky nebo dílčí položku lze definovat nastavením , Clicked
Command
a CommandParameter
vlastnosti. Další informace o položkách nabídky naleznete v tématu Zobrazit položky nabídky.
Vytváření položek řádku nabídek
MenuBarItemobjekty lze přidat do MenuBarItems kolekce, typu IList<MenuBarItem>
, na .ContentPage Desktopové aplikace .NET MAUI zobrazí řádek nabídek obsahující položky nabídek, když se přidají do libovolné ContentPage aplikace hostované v aplikaci nebo v NavigationPage prostředí.
Následující příklad ukazuje ContentPage , že definuje položky řádku nabídek:
<ContentPage ...>
<ContentPage.MenuBarItems>
<MenuBarItem Text="File">
<MenuFlyoutItem Text="Exit"
Command="{Binding ExitCommand}" />
</MenuBarItem>
<MenuBarItem Text="Locations">
<MenuFlyoutSubItem Text="Change Location">
<MenuFlyoutItem Text="Redmond, USA"
Command="{Binding ChangeLocationCommand}"
CommandParameter="Redmond" />
<MenuFlyoutItem Text="London, UK"
Command="{Binding ChangeLocationCommand}"
CommandParameter="London" />
<MenuFlyoutItem Text="Berlin, DE"
Command="{Binding ChangeLocationCommand}"
CommandParameter="Berlin"/>
</MenuFlyoutSubItem>
<MenuFlyoutSeparator />
<MenuFlyoutItem Text="Add Location"
Command="{Binding AddLocationCommand}" />
<MenuFlyoutItem Text="Edit Location"
Command="{Binding EditLocationCommand}" />
<MenuFlyoutItem Text="Remove Location"
Command="{Binding RemoveLocationCommand}" />
</MenuBarItem>
<MenuBarItem Text="View">
<MenuFlyoutItem Text="Refresh"
Command="{Binding RefreshCommand}" />
<MenuFlyoutItem Text="Change Theme"
Command="{Binding ChangeThemeCommand}" />
</MenuBarItem>
</ContentPage.MenuBarItems>
</ContentPage>
Tento příklad definuje tři nabídky nejvyšší úrovně. Každá nabídka nejvyšší úrovně obsahuje položky nabídky a druhá nabídka nejvyšší úrovně má dílčí nabídku a oddělovač:
Poznámka:
V Systému Mac Catalyst jsou položky nabídky přidány do systémového řádku nabídek.
V tomto příkladu každý MenuFlyoutItem definuje položku nabídky, která provede ICommand při výběru.
Akcelerátory klávesnice lze přidat do položek nabídky v řádku nabídek, aby bylo možné položku nabídky vyvolat pomocí klávesové zkratky. Další informace naleznete v tématu Klávesové zkratky.
Zobrazení ikon v položkách nabídky
MenuFlyoutItem a MenuFlyoutSubItem dědí IconImageSource
vlastnost z MenuItem, která umožňuje zobrazit malou ikonu vedle textu položky nabídky. Tato ikona může být obrázek nebo ikona písma.
Upozorňující
Mac Catalyst nepodporuje zobrazování ikon v položkách nabídky.
Následující příklad ukazuje položku řádku nabídek, kde jsou ikony položek nabídky definovány pomocí ikon písem:
<ContentPage.MenuBarItems>
<MenuBarItem Text="Media">
<MenuFlyoutItem Text="Play">
<MenuFlyoutItem.IconImageSource>
<FontImageSource Glyph="▶"
FontFamily="Arial" />
</MenuFlyoutItem.IconImageSource>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Pause"
Clicked="OnPauseClicked">
<MenuFlyoutItem.IconImageSource>
<FontImageSource Glyph="⏸"
FontFamily="Arial" />
</MenuFlyoutItem.IconImageSource>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Stop"
Clicked="OnStopClicked">
<MenuFlyoutItem.IconImageSource>
<FontImageSource Glyph="⏹"
FontFamily="Arial" />
</MenuFlyoutItem.IconImageSource>
</MenuFlyoutItem>
</MenuBarItem>
</ContentPage.MenuBarItems>
V tomto příkladu položka řádku nabídek definuje tři položky nabídky, které zobrazují ikonu a text ve Windows.
Další informace o zobrazení ikon písem naleznete v tématu Zobrazení ikon písem. Informace o přidávání obrázků do projektů .NET MAUI najdete v tématu Přidání obrázků do projektu aplikace .NET MAUI.