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 | |
---|---|---|
MenuAction | Initialisiert eine neue Instanz der MenuAction-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Checkable | Ruft einen Wert ab, der anzeigt, ob ein Menüelement eine Benutzeroberfläche mit einem Kontrollkästchen erfordert, oder legt diesen Wert fest. | |
Checked | Ruft einen Wert ab, der angibt, ob das Menüelement aktiviert ist, oder legt diesen fest. | |
Command | Ruft den Befehl ab, der die Menüaktion darstellt. | |
Context | Ruft den aktuellen Bearbeitungskontext ab. (Von MenuBase geerbt.) | |
DisplayName | Ruft den lokalisierten anzuzeigenden Text für das Menüelement ab oder legt diesen fest. (Von MenuBase geerbt.) | |
Enabled | Ruft den Wert ab bzw. legt den Wert fest, der angibt, ob das Menüaktionselement für Benutzer verfügbar ist. | |
ImageUri | Ruft den Pfad zu einem der MenuAction zugeordneten Bild ab, oder legt diesen fest. | |
Name | Ruft den eindeutigen Bezeichner für das Menüelement ab oder legt ihn fest. (Von MenuBase geerbt.) | |
Visible | Ruft einen Wert ab, der angibt, ob das Element in einem Menü angezeigt wird, oder legt diesen fest. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
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.) | |
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
OnPropertyChanged | Löst das PropertyChanged-Ereignis aus. (Von MenuBase geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Ereignisse
Name | Beschreibung | |
---|---|---|
Execute | Tritt auf, wenn das Menüelement ausgeführt wird. | |
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