Sdílet prostřednictvím


MenuGroup.HasDropDown-Eigenschaft

Aktualisiert: November 2007

Ruft einen Wert ab, der angibt, ob die Menüelemente der Items-Auflistung einem Untermenü hinzugefügt werden, oder legt diesen fest.

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

Syntax

'Declaration
Public Property HasDropDown As Boolean
'Usage
Dim instance As MenuGroup
Dim value As Boolean

value = instance.HasDropDown

instance.HasDropDown = value
public bool HasDropDown { get; set; }
public:
property bool HasDropDown {
    bool get ();
    void set (bool value);
}
public function get HasDropDown () : boolean
public function set HasDropDown (value : boolean)

Eigenschaftenwert

Typ: System.Boolean

true , wenn die Menüelemente in der Elementauflistung einem Untermenü hinzugefügt werden; false, wenn die Elemente in der Auflistung direkt dem aktuellen Menü hinzugefügt und an jedem Ende mit einem Trennzeichen versehen werden.

Hinweise

Wenn HasDropDown den Wert true hat, werden die Menüelemente in der Elementauflistung einem Untermenü hinzugefügt. Dem aktuellen Menü wird ein Menüelement, dessen DisplayName-Eigenschaft auf die MenuGroup festgelegt ist, hinzugefügt, und die Menüelemente werden einem Untermenü hinzugefügt. Wenn HasDropDown den Wert false hat, werden die Elemente in der Auflistung direkt dem aktuellen Menü hinzugefügt und an beiden Enden mit einem Trennzeichen versehen. Stellen Sie sich z. B. eine Menügruppe mit dem Namen Layout und den Menüelementen Linksbündig und Rechtsbündig vor. Wenn HasDropDown den Wert true hat, wird dem aktuellen Menü ein Layout-Menü mit den Untermenüelementen Linksbündig und Rechtsbündig hinzugefügt. Wenn HasDropDown den Wert false hat, werden Linksbündig und Rechtsbündig dem aktuellen Menü mit einem Trennzeichen vor Linksbündig und einem Trennzeichen nach Rechtsbündig hinzugefügt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie zwei MenuAction-Elemente eingerichtet und einer MenuGroup zugeordnet werden. Die HasDropDown-Eigenschaft wird auf true festgelegt, um ein Flyout-Verhalten zu aktivieren. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer 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
// 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);
}

Berechtigungen

Siehe auch

Referenz

MenuGroup-Klasse

MenuGroup-Member

Microsoft.Windows.Design.Interaction-Namespace

MenuAction

PrimarySelectionContextMenuProvider

Weitere Ressourcen

Exemplarische Vorgehensweise: Erstellen einer MenuAction