Freigeben über


MenuAction-Klasse

Ein Kontextmenüelement, das eine im Designer auszuführende Aktion darstellt.

Vererbungshierarchie

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

Namespace:  Microsoft.Windows.Design.Interaction
Assembly:  Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)

Syntax

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

Der MenuAction-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Öffentliche Methode MenuAction Initialisiert eine neue Instanz der MenuAction-Klasse.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Checkable Ruft einen Wert ab, der anzeigt, ob ein Menüelement eine Benutzeroberfläche mit einem Kontrollkästchen erfordert, oder legt diesen Wert fest.
Öffentliche Eigenschaft Checked Ruft einen Wert ab, der angibt, ob das Menüelement aktiviert ist, oder legt diesen fest.
Öffentliche Eigenschaft Command Ruft den Befehl ab, der die Menüaktion darstellt.
Öffentliche Eigenschaft Context Ruft den aktuellen Bearbeitungskontext ab. (Von MenuBase geerbt.)
Öffentliche Eigenschaft DisplayName Ruft den lokalisierten anzuzeigenden Text für das Menüelement ab oder legt diesen fest. (Von MenuBase geerbt.)
Öffentliche Eigenschaft Enabled Ruft den Wert ab bzw. legt den Wert fest, der angibt, ob das Menüaktionselement für Benutzer verfügbar ist.
Öffentliche Eigenschaft ImageUri Ruft den Pfad zu einem der MenuAction zugeordneten Bild ab, oder legt diesen fest.
Öffentliche Eigenschaft Name Ruft den eindeutigen Bezeichner für das Menüelement ab oder legt ihn fest. (Von MenuBase geerbt.)
Öffentliche Eigenschaft Visible Ruft einen Wert ab, der angibt, ob das Element in einem Menü angezeigt wird, oder legt diesen fest.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode OnPropertyChanged Löst das PropertyChanged-Ereignis aus. (Von MenuBase geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Ereignisse

  Name Beschreibung
Öffentliches Ereignis Execute Tritt auf, wenn das Menüelement ausgeführt wird.
Öffentliches Ereignis PropertyChanged Tritt ein, wenn eine Eigenschaft geändert wurde. (Von MenuBase geerbt.)

Zum Seitenanfang

Hinweise

Mit der MenuAction-Klasse können Sie ein Kontextmenüelement im WPF-Designer definieren. 

Erben Sie zum Anzeigen von Kontextmenüelementen von der ContextMenuProvider-Klasse, und erstellen Sie MenuAction-Elemente mit einer zugehörigen MenuGroup. Diese Menüobjekte werden normalerweise im Konstruktor einer von PrimarySelectionContextMenuProvider abgeleiteten Klasse erstellt, die das Kontextmenü der primären Auswahl anzeigt.

Implementieren Sie die Logik für die MenuAction im Execute-Ereignishandler.

Die MenuAction-Klasse ist mit dem WPF-Befehlssystem kompatibel. Rufen Sie die MenuAction nicht über die Benutzeroberfläche, sondern mithilfe der Command-Eigenschaft programmgesteuert auf.

Beispiele

Im folgenden Codebeispiel wird dargestellt, wie zwei MenuAction-Elemente eingerichtet werden, die die Background-Eigenschaft eines Steuerelements zur Entwurfszeit festlegen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Menüanbieters.

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);
}

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.Windows.Design.Interaction-Namespace

PrimarySelectionContextMenuProvider

MenuGroup

Weitere Ressourcen

Exemplarische Vorgehensweise: Erstellen eines Menüanbieters