Delen via


Menus en contextmenu's

Menu's en contextmenu's zijn vergelijkbaar in hoe ze eruitzien en wat ze kunnen bevatten. Ze geven beide een georganiseerde lijst met opdrachten of opties weer en besparen ruimte door ze te verbergen totdat de gebruiker ze nodig heeft. Er zijn echter verschillen tussen hen, zoals wat u moet gebruiken om ze te maken en hoe ze worden geopend door een gebruiker.

Voorbeeld van een typisch contextmenu

Is dit de juiste controle?

Menu's en contextmenu's zijn bedoeld voor het ordenen van opdrachten en het besparen van ruimte door deze opdrachten te verbergen totdat de gebruiker ze nodig heeft. Als u willekeurige inhoud, zoals een melding of bevestigingsaanvraag, wilt weergeven, gebruikt u een dialoogvenster of een flyout.

Als een bepaalde opdracht regelmatig wordt gebruikt en u over de beschikbare ruimte beschikt, kunt u overwegen deze rechtstreeks in een eigen element te plaatsen, zodat gebruikers geen menu hoeven te doorlopen om ernaartoe te gaan.

Wanneer moet u een menu of contextmenu gebruiken?

  • Als het hostelement een knop is of een ander opdrachtelement waarvan de primaire rol is om extra opdrachten weer te geven, gebruikt u een menu.
  • Als het hostelement een ander type element is dat een ander primair doel heeft (zoals het presenteren van tekst of een afbeelding), gebruik een contextmenu.

Als u opdrachten (zoals Knippen, Kopiëren en Plakken) wilt toevoegen aan een tekst- of afbeeldingselement, gebruikt u een contextmenu in plaats van een menu. In dit scenario is de primaire rol van het tekstelement het presenteren en bewerken van tekst; aanvullende opdrachten (zoals Knippen, Kopiëren en Plakken) zijn secundair en horen in een contextmenu.

Voorbeeld van contextmenu in fotogalerie

Contextmenu

Contextmenu's hebben de volgende kenmerken:

  • Zijn gekoppeld aan één element en geven secundaire opdrachten weer.
  • Worden aangeroepen door met de rechtermuisknop te klikken (of een equivalente actie, zoals drukken en vasthouden met uw vinger).
  • Zijn gekoppeld aan een element via de eigenschap ContextFlyout .

In gevallen waarin uw contextmenu algemene opdrachten bevat (zoals Kopiëren, Knippen, Plakken, Verwijderen, Delen of tekstselectieopdrachten), gebruikt u de flyout op de opdrachtbalk en groepeert u deze algemene opdrachten als primaire opdrachten, zodat deze worden weergegeven als één horizontale rij in het contextmenu.

In gevallen waarin uw contextmenu geen gebruikelijke opdrachten bevat, kan het contextmenu worden weergegeven met behulp van een opdrachtbalkflyout of menuflyout. We raden u aan CommandBarFlyout te gebruiken omdat het meer functionaliteit biedt dan MenuFlyout en, indien gewenst, hetzelfde gedrag en uiterlijk van MenuFlyout kan bereiken met behulp van alleen secundaire opdrachten.

Menu's hebben de volgende kenmerken:

  • Een enkel toegangspunt (bijvoorbeeld een menu Bestand boven aan het scherm) hebben dat altijd wordt weergegeven.
  • Zijn meestal gekoppeld aan een knop of een ouder menu-item.
  • Worden aangeroepen door met de linkermuisknop te klikken (of een equivalente actie, zoals tikken met uw vinger).
  • Zijn gekoppeld aan een element via de flyout - of FlyoutBase.AttachedFlyout-eigenschappen of gegroepeerd in een menubalk boven aan het app-venster.

Wanneer de gebruiker een opdrachtelement (zoals een knop) activeert waarvan de primaire rol is om extra opdrachten te presenteren, gebruik dan een menuflyout om één menu op het hoogste niveau inline weer te geven als een flyout die aan het on-canvas UI-element is gekoppeld. Elke MenuFlyout kan menu-items en submenu's bevatten. Voor apps die mogelijk meer organisatie of groepering nodig hebben, gebruikt u een menubalk als een snelle en eenvoudige manier om een set menu's op het hoogste niveau in een horizontale rij weer te geven.