Freigeben über


MenuGroup-Klasse

Stellt eine Gruppe von Menüelementen dar.

Vererbungshierarchie

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

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

Syntax

'Declaration
Public Class MenuGroup _
    Inherits MenuBase
public class MenuGroup : MenuBase
public ref class MenuGroup : public MenuBase
type MenuGroup =  
    class
        inherit MenuBase
    end
public class MenuGroup extends MenuBase

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

Konstruktoren

  Name Beschreibung
Öffentliche Methode MenuGroup(String) Initialisiert eine neue Instanz der MenuGroup-Klasse mit dem angegebenen Gruppennamen.
Öffentliche Methode MenuGroup(String, String) Initialisiert eine neue Instanz der MenuGroup-Klasse mit dem angegebenen Gruppen- und Anzeigenamen.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Ö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 HasDropDown Ruft einen Wert ab, der angibt, ob die Menüelemente der Items-Auflistung einem Untermenü hinzugefügt werden, oder legt diesen fest.
Öffentliche Eigenschaft Items Ruft eine Liste von Menüelementen ab, die als nebengeordnete Elemente innerhalb der gleichen Menügruppe angezeigt werden.
Öffentliche Eigenschaft Name Ruft den eindeutigen Bezeichner für das Menüelement ab oder legt ihn fest. (Von MenuBase geerbt.)

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 PropertyChanged Tritt ein, wenn eine Eigenschaft geändert wurde. (Von MenuBase geerbt.)

Zum Seitenanfang

Hinweise

Menüelemente werden von der MenuAction-Klasse dargestellt. Eine Menügruppe kann eine Auflistung von Menüelementen direkt im Menü oder als Untermenü, das auch als Flyout-Menü bezeichnet wird, enthalten. Legen Sie die HasDropDown-Eigenschaft fest, um Menüelemente in einem Untermenü anzuzeigen.

Erben Sie zum Anzeigen von Kontextmenüelementen von der PrimarySelectionContextMenuProvider-Klasse, und erstellen Sie MenuAction-Elemente mit einer zugehörigen MenuGroup.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie zwei MenuAction-Elemente eingerichtet und einer MenuGroup zugeordnet werden. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Menüanbieters.

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

MenuAction

PrimarySelectionContextMenuProvider

Weitere Ressourcen

Exemplarische Vorgehensweise: Erstellen eines Menüanbieters