Freigeben über


ContextMenuService Klasse

Definition

Stellt die Systemimplementierung zum Anzeigen eines ContextMenu bereit.

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

Beispiele

Im folgenden Beispiel werden zwei Schaltflächen dasselbe ContextMenu zugewiesen und die HasDropShadowEigenschaften , Placement, PlacementRectangle, HorizontalOffsetund VerticalOffset festgelegt, um die ContextMenu auf unterschiedliche Positionen für jede Schaltfläche festzulegen.

<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>

Das folgende Beispiel zeigt, wie Sie den Dienst verwenden, um eine ContextMenu auf einer deaktivierten Schaltfläche anzuzeigen. Beachten Sie, dass Sie die ShowOnDisabled -Eigenschaft für die Schaltfläche festlegen, die das übergeordnete Element des Kontextmenüs ist.

<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>

Hinweise

Die ContextMenuService -Klasse stellt angefügte Eigenschaften bereit, die verwendet werden können, um die Darstellung und Position eines Kontextmenüs anzugeben. Viele der Eigenschaften in der ContextMenuService -Klasse werden auch durch ContextMenudefiniert. Manchmal ist es bequemer, die Eigenschaften mithilfe der ContextMenuService -Klasse festzulegen, als die Eigenschaften für eine ContextMenufestzulegen. Beispielsweise können Sie eine ContextMenu erstellen, die von mehreren Elementen freigegeben wird, aber verwenden Sie die ContextMenuService -Klasse, um eine andere Position von ContextMenu für jedes Element anzugeben. Die folgenden Eigenschaften werden von den ContextMenu Klassen und ContextMenuService definiert. Wenn eine dieser Eigenschaften für und ContextMenuContextMenuServicefestgelegt ist, wird der Eigenschaftswert von ContextMenuService verwendet.

Sie können auch die ContextMenuService verwenden, um Menüs für deaktivierte Elemente anzuzeigen.

Felder

ContextMenuClosingEvent

Identifiziert das ContextMenuClosing-Routingereignis.

ContextMenuOpeningEvent

Bezeichnet das angefügte ContextMenuOpening-Ereignis.

ContextMenuProperty

Bezeichnet die angefügte ContextMenu-Eigenschaft.

HasDropShadowProperty

Bezeichnet die angefügte HasDropShadow-Eigenschaft.

HorizontalOffsetProperty

Bezeichnet die angefügte HorizontalOffset-Eigenschaft.

IsEnabledProperty

Bezeichnet die angefügte IsEnabled-Eigenschaft.

PlacementProperty

Bezeichnet die angefügte Placement-Eigenschaft.

PlacementRectangleProperty

Bezeichnet die angefügte PlacementRectangle-Eigenschaft.

PlacementTargetProperty

Bezeichnet die angefügte PlacementTarget-Eigenschaft.

ShowOnDisabledProperty

Bezeichnet die angefügte ShowOnDisabled-Eigenschaft.

VerticalOffsetProperty

Bezeichnet die angefügte VerticalOffset-Eigenschaft.

Angefügte Eigenschaften

ContextMenu

Ruft den Inhalt einer ContextMenu ab oder legt diesen fest.

HasDropShadow

Ruft einen Wert ab, der angibt, ob für das ContextMenu ein Schlagschatteneffekt aktiviert ist, oder legt diesen fest.

HorizontalOffset

Ruft einen Wert ab, der angibt, an welcher Stelle in der x-Richtung das ContextMenu in Bezug auf das übergeordnete Steuerelement platziert werden soll, oder legt diesen fest.

IsEnabled

Ruft einen Wert ab, der angibt, ob das ContextMenu angezeigt werden kann, oder legt diesen fest.

Placement

Ruft einen Wert ab, der die Platzierung des ContextMenu in Bezug auf das PlacementTarget bzw. das PlacementRectangle angibt, oder legt diesen fest.

PlacementRectangle

Ruft den Bereich ab, in Bezug auf den das Kontextmenü beim Öffnen positioniert wird, oder legt diesen fest.

PlacementTarget

Ruft das übergeordnete Steuerelement des ContextMenu ab oder legt dieses fest.

ShowOnDisabled

Ruft einen Wert ab, der angibt, ob das ContextMenu angezeigt werden soll, wenn sein übergeordnetes Element abgeblendet dargestellt wird, oder legt diesen fest.

VerticalOffset

Ruft einen Wert ab, der angibt, an welcher Stelle in der y-Richtung das ContextMenu in Bezug auf das übergeordnete Steuerelement platziert werden soll, oder legt diesen fest.

Methoden

AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Fügt einen Handler für das angefügte ContextMenuClosing-Ereignis hinzu.

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Fügt einen Handler für das angefügte ContextMenuOpening-Ereignis hinzu.

GetContextMenu(DependencyObject)

Ruft den Wert der ContextMenu-Eigenschaft des angegebenen Objekts ab.

GetHasDropShadow(DependencyObject)

Ruft einen Wert ab, der angibt, ob das ContextMenu einen Schlagschatten aufweist.

GetHorizontalOffset(DependencyObject)

Ruft den Wert der HorizontalOffset-Eigenschaft des angegebenen Objekts ab.

GetIsEnabled(DependencyObject)

Ruft den Wert der IsEnabled-Eigenschaft des angegebenen Objekts ab.

GetPlacement(DependencyObject)

Ruft den Wert der Placement-Eigenschaft des angegebenen Objekts ab.

GetPlacementRectangle(DependencyObject)

Ruft den Wert der PlacementRectangle-Eigenschaft des angegebenen Objekts ab.

GetPlacementTarget(DependencyObject)

Ruft den Wert der PlacementTarget-Eigenschaft des angegebenen Objekts ab.

GetShowOnDisabled(DependencyObject)

Ruft den Wert der ShowOnDisabled-Eigenschaft des angegebenen Objekts ab.

GetVerticalOffset(DependencyObject)

Ruft den Wert der VerticalOffset-Eigenschaft des angegebenen Objekts ab.

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Entfernt einen Handler für das angefügte ContextMenuClosing-Ereignis.

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Entfernt einen Handler für das angefügte ContextMenuOpening-Ereignis.

SetContextMenu(DependencyObject, ContextMenu)

Legt den Wert der ContextMenu-Eigenschaft des angegebenen Objekts fest.

SetHasDropShadow(DependencyObject, Boolean)

Legt einen Wert fest, der angibt, ob das ContextMenu einen Schlagschatten aufweist.

SetHorizontalOffset(DependencyObject, Double)

Legt den Wert der HorizontalOffset-Eigenschaft des angegebenen Objekts fest.

SetIsEnabled(DependencyObject, Boolean)

Legt den Wert der IsEnabled-Eigenschaft des angegebenen Objekts fest.

SetPlacement(DependencyObject, PlacementMode)

Legt den Wert der Placement-Eigenschaft des angegebenen Objekts fest.

SetPlacementRectangle(DependencyObject, Rect)

Legt den Wert der PlacementRectangle-Eigenschaft des angegebenen Objekts fest.

SetPlacementTarget(DependencyObject, UIElement)

Legt den Wert der PlacementTarget-Eigenschaft des angegebenen Objekts fest.

SetShowOnDisabled(DependencyObject, Boolean)

Legt den Wert der ShowOnDisabled-Eigenschaft des angegebenen Objekts fest.

SetVerticalOffset(DependencyObject, Double)

Legt den Wert der VerticalOffset-Eigenschaft des angegebenen Objekts fest.

Angefügte Ereignisse

ContextMenuClosing

Tritt ein, wenn ContextMenu geschlossen wird.

ContextMenuOpening

Tritt ein, wenn ContextMenu geöffnet wird.

Gilt für:

Weitere Informationen