Menyobjekt

Kontrollen MenuItem representerar enskilda valbara objekt i en Menu eller ContextMenu. MenuItem är det grundläggande byggblocket för menysystem i WPF-program, vilket ger de interaktiva element som användarna klickar på eller väljer för att utföra åtgärder.

Skärmbild som visar en menykontroll med flera MenuItem-kontroller.

Exempel på hur du använder menyer finns i Meny: Exmaples.

A Menu fungerar som en container för MenuItem objekt och upprättar en överordnad-underordnad relation där:

  • Menykontrollen innehåller den övergripande strukturen och layouten för att ordna menyalternativ.
  • Varje MenuItem representerar ett specifikt kommando, alternativ eller undermeny i den strukturen.
  • MenuItems kan innehålla andra MenuItems som barnmenyer, vilket skapar hierarkiska undermenyer av obegränsat djup.
  • MenuItems ärver formaterings- och beteendeegenskaperna från den överordnade menyn om de inte uttryckligen åsidosätts.

Med den här hierarkiska relationen kan du skapa komplexa navigeringsstrukturer, från enkla platta menyer till djupt kapslade undermenysystem.

MenuItems stöder flera olika typer av beteenden:

Kommandoobjekt: MenuItems som kör specifika kommandon när du klickar. Dessa används vanligtvis för åtgärder som Öppna fil > eller Redigera > kopia.

Kontrollerbara objekt: MenuItems som kan aktiveras och inaktiveras, liknande kryssrutor. Ange egenskapen IsCheckable till true för att aktivera det här beteendet.

Avgränsarobjekt: Använd Separator kontroller i en meny för att visuellt gruppera relaterade MenuItems.

Undermenyobjekt: MenuItems som innehåller andra MenuItems som underobjekt. När man klickar eller håller muspekaren över visas en undermeny med ytterligare alternativ.

Viktiga egenskaper för MenuItem är:

  • Header: Innehållet som visas i menyalternativet.
  • Command: Kommandot som ska köras när objektet har valts.
  • IsCheckable: Om objektet kan kontrolleras och avmarkeras.
  • IsChecked: Aktuellt kontrollerat tillstånd för ett checkbart objekt.
  • InputGestureText: Text som representerar kortkommandot för objektet.
  • Icon: En ikon som ska visas tillsammans med menyalternativets text.

Viktiga händelser är Click, Checkedoch Unchecked.

Formatmallar och stilar

Du kan ändra standardvärdet ControlTemplate för att ge MenuItem kontrollen ett unikt utseende. Mer information finns i Vad är formatmallar och mallar? och Hur skapar du en mall för en kontroll.

Innehållsegenskap

Den här kontrollen definierar inte en innehållsegenskap.

Delar

I följande tabell visas de namngivna MenuItem delarna för kontrollen.

Del Typ Description
PART_Popup Popup Popup-fönstret som innehåller undermenyobjekten.

När du skapar en ControlTemplate för en MenuItemkan mallen innehålla en ItemsPresenter i en ScrollViewer. Visar ItemsPresenter varje objekt i MenuItem; ScrollViewer aktiverar rullning i kontrollen. Om ItemsPresenter inte är direkt underordnad ScrollViewer, måste du ge ItemsPresenter namnet ItemsPresenter.

Visuella tillstånd

I följande tabell visas de visuella tillstånden MenuItem för kontrollen.

VisualState-namn VisualStateGroup-namn Description
Giltigt ValidationStates Kontrollen är giltig och har inga verifieringsfel.
OgiltigFocus ValidationStates Kontrollen har ett verifieringsfel och har tangentbordsfokus.
OgiltigInteIFokus ValidationStates Kontrollen har ett verifieringsfel men har inte tangentbordsfokus.

Se även