ContextMenuService Klass

Definition

Tillhandahåller systemimplementeringen för att visa en ContextMenu.

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
Arv
ContextMenuService

Exempel

I följande exempel tilldelas samma ContextMenu till två knappar och egenskaperna HasDropShadow, Placement, PlacementRectangle, HorizontalOffsetoch VerticalOffset anges ContextMenu till olika positioner för varje knapp.

<StackPanel>
  <StackPanel.Resources>
    <ContextMenu x:Key="myContextMenu">
      <MenuItem Header="Item"/>
    </ContextMenu>
  </StackPanel.Resources>

  <!--Both buttons use the same ContextMenu but use the
    properties on ContextMenuService to position them
    differently.-->
  <Button ContextMenu="{StaticResource myContextMenu}" 
          ContextMenuService.HasDropShadow="False" 
          ContextMenuService.Placement="Relative"
          ContextMenuService.HorizontalOffset="50"
          ContextMenuService.VerticalOffset="-10">
    button 1
  </Button>

  <Button ContextMenu="{StaticResource myContextMenu}" 
          ContextMenuService.HasDropShadow="True"
          ContextMenuService.Placement="Right"
          ContextMenuService.PlacementRectangle="0,0,30,30">
    button 2
  </Button>
</StackPanel>

I följande exempel visas hur du använder tjänsten för att visa en ContextMenu på en inaktiverad knapp. Observera att du anger ShowOnDisabled egenskapen på knappen som är överordnad i snabbmenyn.

<Button Height="30" Content="Disabled Button" IsEnabled="False" 
     ContextMenuService.ShowOnDisabled="True">
  <Button.ContextMenu>
    <ContextMenu>
      <MenuItem Header="Item 1"/>
      <MenuItem Header="Item 2"/>
      <MenuItem Header="Item 3"/>
    </ContextMenu>
  </Button.ContextMenu>
</Button>

Kommentarer

Klassen ContextMenuService innehåller bifogade egenskaper som kan användas för att ange utseendet och positionen för en snabbmeny. Många av egenskaperna i ContextMenuService klassen definieras också av ContextMenu. Ibland är det enklare att ange egenskaperna med hjälp ContextMenuService av klassen än genom att ange egenskaperna på en ContextMenu. Du kan till exempel skapa en ContextMenu som ska delas av flera element, men använd ContextMenuService klassen för att ange en annan position ContextMenu för varje element. Följande egenskaper definieras av klasserna ContextMenu och ContextMenuService . Om någon av dessa egenskaper har angetts för båda ContextMenu och ContextMenuServiceanvänds egenskapsvärdet från ContextMenuService .

Du kan också använda ContextMenuService för att visa menyer för inaktiverade objekt.

Fält

Name Description
ContextMenuClosingEvent

Identifierar den ContextMenuClosing dirigerade händelsen.

ContextMenuOpeningEvent

Identifierar den ContextMenuOpening kopplade händelsen.

ContextMenuProperty

Identifierar den ContextMenu anslutna egenskapen.

HasDropShadowProperty

Identifierar den HasDropShadow anslutna egenskapen.

HorizontalOffsetProperty

Identifierar den HorizontalOffset anslutna egenskapen.

IsEnabledProperty

Identifierar den IsEnabled anslutna egenskapen.

PlacementProperty

Identifierar den Placement anslutna egenskapen.

PlacementRectangleProperty

Identifierar den PlacementRectangle anslutna egenskapen.

PlacementTargetProperty

Identifierar den PlacementTarget anslutna egenskapen.

ShowOnDisabledProperty

Identifierar den ShowOnDisabled anslutna egenskapen.

VerticalOffsetProperty

Identifierar den VerticalOffset anslutna egenskapen.

Kopplade egenskaper

Name Description
ContextMenu

Hämtar eller anger innehållet i en ContextMenu.

HasDropShadow

Hämtar eller anger ett värde som anger om ContextMenu skuggeffekten är aktiverad.

HorizontalOffset

Hämtar eller anger ett värde som anger var längs x-riktningen för att placera med avseende på ContextMenu den överordnade kontrollen.

IsEnabled

Hämtar eller anger ett värde som anger om ContextMenu kan visas.

Placement

Hämtar eller anger ett värde som anger placeringen av den ContextMenu relativa till PlacementTarget eller PlacementRectangle.

PlacementRectangle

Hämtar eller anger området i förhållande till vilket snabbmenyn placeras när den öppnas.

PlacementTarget

Hämtar eller anger den överordnade kontrollen för ContextMenu.

ShowOnDisabled

Hämtar eller anger ett värde som anger om ContextMenu ska visas när dess överordnade är nedtonad.

VerticalOffset

Hämtar eller anger ett värde som anger var längs y-riktningen för att placera med avseende på ContextMenu den överordnade kontrollen.

Metoder

Name Description
AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Lägger till en hanterare för den anslutna ContextMenuClosing händelsen.

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Lägger till en hanterare för den anslutna ContextMenuOpening händelsen.

GetContextMenu(DependencyObject)

Hämtar värdet för egenskapen för ContextMenu det angivna objektet.

GetHasDropShadow(DependencyObject)

Hämtar ett värde som anger om har ContextMenu en skuggning.

GetHorizontalOffset(DependencyObject)

Hämtar värdet för egenskapen för HorizontalOffset det angivna objektet.

GetIsEnabled(DependencyObject)

Hämtar värdet för egenskapen för IsEnabled det angivna objektet.

GetPlacement(DependencyObject)

Hämtar värdet för egenskapen för Placement det angivna objektet.

GetPlacementRectangle(DependencyObject)

Hämtar värdet för egenskapen för PlacementRectangle det angivna objektet.

GetPlacementTarget(DependencyObject)

Hämtar värdet för egenskapen för PlacementTarget det angivna objektet.

GetShowOnDisabled(DependencyObject)

Hämtar värdet för egenskapen för ShowOnDisabled det angivna objektet.

GetVerticalOffset(DependencyObject)

Hämtar värdet för egenskapen för VerticalOffset det angivna objektet.

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Tar bort en hanterare för den anslutna ContextMenuClosing händelsen.

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Tar bort en hanterare för den anslutna ContextMenuOpening händelsen.

SetContextMenu(DependencyObject, ContextMenu)

Anger värdet för egenskapen för ContextMenu det angivna objektet.

SetHasDropShadow(DependencyObject, Boolean)

Anger ett värde som anger om det ContextMenu finns en skuggning.

SetHorizontalOffset(DependencyObject, Double)

Anger värdet för egenskapen för HorizontalOffset det angivna objektet.

SetIsEnabled(DependencyObject, Boolean)

Anger värdet för egenskapen för IsEnabled det angivna objektet.

SetPlacement(DependencyObject, PlacementMode)

Anger värdet för egenskapen för Placement det angivna objektet.

SetPlacementRectangle(DependencyObject, Rect)

Anger värdet för egenskapen för PlacementRectangle det angivna objektet.

SetPlacementTarget(DependencyObject, UIElement)

Anger värdet för egenskapen för PlacementTarget det angivna objektet.

SetShowOnDisabled(DependencyObject, Boolean)

Anger värdet för egenskapen för ShowOnDisabled det angivna objektet.

SetVerticalOffset(DependencyObject, Double)

Anger värdet för egenskapen för VerticalOffset det angivna objektet.

Anslutna händelser

Name Description
ContextMenuClosing

Inträffar när stängs ContextMenu .

ContextMenuOpening

Inträffar när öppnas ContextMenu .

Gäller för

Se även