MenuAction, classe

Élément de menu contextuel qui représente une action à prendre dans le concepteur.

Hiérarchie d'héritage

System.Object
  Microsoft.Windows.Design.Interaction.MenuBase
    Microsoft.Windows.Design.Interaction.MenuAction

Espace de noms :  Microsoft.Windows.Design.Interaction
Assembly :  Microsoft.Windows.Design.Interaction (dans Microsoft.Windows.Design.Interaction.dll)

Syntaxe

'Déclaration
Public Class MenuAction _
    Inherits MenuBase
public class MenuAction : MenuBase
public ref class MenuAction : public MenuBase
type MenuAction =  
    class
        inherit MenuBase
    end
public class MenuAction extends MenuBase

Le type MenuAction expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique MenuAction Initialise une nouvelle instance de la classe MenuAction.

Début

Propriétés

  Nom Description
Propriété publique Checkable Obtient ou définit une valeur qui indique si l'élément de menu requiert une interface utilisateur qui affiche une case à cocher.
Propriété publique Checked Obtient ou définit une valeur indiquant si l'élément de menu est coché.
Propriété publique Command Obtient la commande qui représente l'action du menu.
Propriété publique Context Obtient le contexte d'édition actuel. (Hérité de MenuBase.)
Propriété publique DisplayName Obtient ou définit le texte localisé à afficher pour l'élément de menu. (Hérité de MenuBase.)
Propriété publique Enabled Obtient ou définit une valeur indiquant si l'élément d'action de menu est accessible à l'utilisateur.
Propriété publique ImageUri Obtient ou affecte le chemin d'accès à une image associée au MenuAction.
Propriété publique Name Obtient ou définit l'identificateur unique de l'élément de menu. (Hérité de MenuBase.)
Propriété publique Visible Obtient ou définit une valeur indiquant si l'élément est affiché dans le menu.

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée OnPropertyChanged Déclenche l'événement PropertyChanged. (Hérité de MenuBase.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Événements

  Nom Description
Événement public Execute Se produit lorsque l'élément de menu est exécuté.
Événement public PropertyChanged Se produit lorsqu'une propriété a été modifiée. (Hérité de MenuBase.)

Début

Notes

Utilisez la classe MenuAction pour définir un élément de menu contextuel dans le Concepteur WPF. 

Pour afficher des éléments de menu contextuel, héritez de la classe ContextMenuProvider et créez des éléments MenuAction, ainsi qu'un MenuGroup associé. Ces objets de menu sont généralement créés dans le constructeur d'une classe dérivée de PrimarySelectionContextMenuProvider, qui affiche le menu contextuel sur la sélection principale.

Implémentez la logique de votre MenuAction dans le gestionnaire d'événements Execute.

La classe MenuAction est compatible avec le système de commande de WPF. Utilisez la propriété Command pour appeler MenuAction par programme, plutôt que par l'interface utilisateur.

Exemples

L'exemple de code suivant indique comment configurer deux éléments MenuAction qui définissent la propriété Background d'un contrôle au moment du design. Pour plus d'informations, consultez Procédure pas à pas : création d'un fournisseur de menus.

Private setBackgroundToBlueMenuAction As MenuAction
Private clearBackgroundMenuAction As MenuAction


...


' The provider's constructor sets up the MenuAction objects 
' and the the MenuGroup which holds them.
Public Sub New()

    ' Set up the MenuAction which sets the control's 
    ' background to Blue.
    setBackgroundToBlueMenuAction = New MenuAction("Blue")
    setBackgroundToBlueMenuAction.Checkable = True
    AddHandler setBackgroundToBlueMenuAction.Execute, AddressOf SetBackgroundToBlue_Execute

    ' Set up the MenuAction which sets the control's 
    ' background to its default value.
    clearBackgroundMenuAction = New MenuAction("Cleared")
    clearBackgroundMenuAction.Checkable = True
    AddHandler clearBackgroundMenuAction.Execute, AddressOf ClearBackground_Execute

    ' Set up the MenuGroup which holds the MenuAction items.
    Dim backgroundFlyoutGroup As New MenuGroup("SetBackgroundsGroup", "Set Background")

    ' If HasDropDown is false, the group appears inline, 
    ' instead of as a flyout. Set to true.
    backgroundFlyoutGroup.HasDropDown = True
    backgroundFlyoutGroup.Items.Add(setBackgroundToBlueMenuAction)
    backgroundFlyoutGroup.Items.Add(clearBackgroundMenuAction)
    Me.Items.Add(backgroundFlyoutGroup)

    ' The UpdateItemStatus event is raised immediately before 
    ' this provider shows its tabs, which provides the opportunity 
    ' to set states.
    AddHandler UpdateItemStatus, AddressOf CustomContextMenuProvider_UpdateItemStatus

End Sub
private MenuAction setBackgroundToBlueMenuAction;
private MenuAction clearBackgroundMenuAction;


...


// The provider's constructor sets up the MenuAction objects 
// and the the MenuGroup which holds them.
public CustomContextMenuProvider()
{   
    // Set up the MenuAction which sets the control's 
    // background to Blue.
    setBackgroundToBlueMenuAction = new MenuAction("Blue");
    setBackgroundToBlueMenuAction.Checkable = true;
    setBackgroundToBlueMenuAction.Execute += 
        new EventHandler<MenuActionEventArgs>(SetBackgroundToBlue_Execute);

    // Set up the MenuAction which sets the control's 
    // background to its default value.
    clearBackgroundMenuAction = new MenuAction("Cleared");
    clearBackgroundMenuAction.Checkable = true;
    clearBackgroundMenuAction.Execute += 
        new EventHandler<MenuActionEventArgs>(ClearBackground_Execute);

    // Set up the MenuGroup which holds the MenuAction items.
    MenuGroup backgroundFlyoutGroup = 
        new MenuGroup("SetBackgroundsGroup", "Set Background");

    // If HasDropDown is false, the group appears inline, 
    // instead of as a flyout. Set to true.
    backgroundFlyoutGroup.HasDropDown = true;
    backgroundFlyoutGroup.Items.Add(setBackgroundToBlueMenuAction);
    backgroundFlyoutGroup.Items.Add(clearBackgroundMenuAction);
    this.Items.Add(backgroundFlyoutGroup);

    // The UpdateItemStatus event is raised immediately before 
    // this provider shows its tabs, which provides the opportunity 
    // to set states.
    UpdateItemStatus += 
        new EventHandler<MenuActionEventArgs>(
            CustomContextMenuProvider_UpdateItemStatus);
}

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.Windows.Design.Interaction, espace de noms

PrimarySelectionContextMenuProvider

MenuGroup

Autres ressources

Procédure pas à pas : création d'un fournisseur de menus