Partager via


ContextMenuService Classe

Définition

Fournit l'implémentation du système pour afficher un ContextMenu.

public ref class ContextMenuService abstract sealed
public static class ContextMenuService
type ContextMenuService = class
Public Class ContextMenuService
Héritage
ContextMenuService

Exemples

L’exemple suivant affecte le même ContextMenu à deux boutons et définit les HasDropShadowpropriétés , Placement, PlacementRectangle, HorizontalOffsetet VerticalOffset pour définir le ContextMenu à des positions différentes pour chaque bouton.

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

L’exemple suivant montre comment utiliser le service pour afficher un ContextMenu sur un bouton désactivé. Notez que vous définissez la ShowOnDisabled propriété sur le bouton qui est le parent du menu contextuel.

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

Remarques

La ContextMenuService classe fournit des propriétés jointes qui peuvent être utilisées pour spécifier l’apparence et la position d’un menu contextuel. La plupart des propriétés de la ContextMenuService classe sont également définies par .ContextMenu Parfois, il est plus pratique de définir les propriétés à l’aide de la ContextMenuService classe que de définir les propriétés sur un ContextMenu. Par exemple, vous pouvez créer un ContextMenu à partager par plusieurs éléments, mais utilisez la ContextMenuService classe pour spécifier une position différente du ContextMenu pour chaque élément. Les propriétés suivantes sont définies par les ContextMenu classes et ContextMenuService . Si l’une de ces propriétés est définie sur ContextMenu et sur , ContextMenuServicela valeur de la propriété de est ContextMenuService utilisée.

Vous pouvez également utiliser pour afficher les ContextMenuService menus sur les éléments désactivés.

Champs

ContextMenuClosingEvent

Identifie l'événement acheminé ContextMenuClosing.

ContextMenuOpeningEvent

Identifie l’événement attaché ContextMenuOpening.

ContextMenuProperty

Identifie la propriété jointe ContextMenu.

HasDropShadowProperty

Identifie la propriété jointe HasDropShadow.

HorizontalOffsetProperty

Identifie la propriété jointe HorizontalOffset.

IsEnabledProperty

Identifie la propriété jointe IsEnabled.

PlacementProperty

Identifie la propriété jointe Placement.

PlacementRectangleProperty

Identifie la propriété jointe PlacementRectangle.

PlacementTargetProperty

Identifie la propriété jointe PlacementTarget.

ShowOnDisabledProperty

Identifie la propriété jointe ShowOnDisabled.

VerticalOffsetProperty

Identifie la propriété jointe VerticalOffset.

Propriétés attachées

ContextMenu

Obtient ou définit le contenu d'un ContextMenu.

HasDropShadow

Obtient ou définit une valeur qui indique si l'effet d'ombre portée est activé pour le ContextMenu.

HorizontalOffset

Obtient ou définit une valeur qui indique le positionnement, sur l'axe x, du ContextMenu, en tenant compte du contrôle parent.

IsEnabled

Obtient ou définit une valeur qui indique si le ContextMenu peut s'afficher.

Placement

Obtient ou définit une valeur qui spécifie le positionnement du ContextMenu en fonction de la PlacementTarget ou du PlacementRectangle.

PlacementRectangle

Obtient ou définit la zone par rapport à laquelle le menu contextuel est positionné à son ouverture.

PlacementTarget

Obtient ou définit le contrôle parent du menu contextuel ContextMenu.

ShowOnDisabled

Obtient ou définit une valeur qui indique si le ContextMenu doit s'afficher lorsque son parent est grisé.

VerticalOffset

Obtient ou définit une valeur qui indique le positionnement, sur l'axe y, du ContextMenu, par rapport au contrôle parent.

Méthodes

AddContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Ajoute un gestionnaire pour l'événement attaché ContextMenuClosing.

AddContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Ajoute un gestionnaire pour l'événement attaché ContextMenuOpening.

GetContextMenu(DependencyObject)

Obtient la valeur de la propriété ContextMenu de l'objet spécifié.

GetHasDropShadow(DependencyObject)

Obtient une valeur qui indique si le ContextMenu présente une ombre portée.

GetHorizontalOffset(DependencyObject)

Obtient la valeur de la propriété HorizontalOffset de l'objet spécifié.

GetIsEnabled(DependencyObject)

Obtient la valeur de la propriété IsEnabled de l'objet spécifié.

GetPlacement(DependencyObject)

Obtient la valeur de la propriété Placement de l'objet spécifié.

GetPlacementRectangle(DependencyObject)

Obtient la valeur de la propriété PlacementRectangle de l'objet spécifié.

GetPlacementTarget(DependencyObject)

Obtient la valeur de la propriété PlacementTarget de l'objet spécifié.

GetShowOnDisabled(DependencyObject)

Obtient la valeur de la propriété ShowOnDisabled de l'objet spécifié.

GetVerticalOffset(DependencyObject)

Obtient la valeur de la propriété VerticalOffset de l'objet spécifié.

RemoveContextMenuClosingHandler(DependencyObject, ContextMenuEventHandler)

Supprime un gestionnaire pour l'événement attaché ContextMenuClosing.

RemoveContextMenuOpeningHandler(DependencyObject, ContextMenuEventHandler)

Supprime un gestionnaire pour l'événement attaché ContextMenuOpening.

SetContextMenu(DependencyObject, ContextMenu)

Définit la valeur de la propriété ContextMenu de l'objet spécifié.

SetHasDropShadow(DependencyObject, Boolean)

Définit une valeur qui indique si le ContextMenu présente une ombre portée.

SetHorizontalOffset(DependencyObject, Double)

Définit la valeur de la propriété HorizontalOffset de l'objet spécifié.

SetIsEnabled(DependencyObject, Boolean)

Définit la valeur de la propriété IsEnabled de l'objet spécifié.

SetPlacement(DependencyObject, PlacementMode)

Définit la valeur de la propriété Placement de l'objet spécifié.

SetPlacementRectangle(DependencyObject, Rect)

Définit la valeur de la propriété PlacementRectangle de l'objet spécifié.

SetPlacementTarget(DependencyObject, UIElement)

Définit la valeur de la propriété PlacementTarget de l'objet spécifié.

SetShowOnDisabled(DependencyObject, Boolean)

Définit la valeur de la propriété ShowOnDisabled de l'objet spécifié.

SetVerticalOffset(DependencyObject, Double)

Définit la valeur de la propriété VerticalOffset de l'objet spécifié.

Événements attachés

ContextMenuClosing

Se produit lorsque ContextMenu se ferme.

ContextMenuOpening

Se produit lors de l'ouverture de ContextMenu.

S’applique à

Voir aussi