Поделиться через


MenuGroup.HasDropDown - свойство

Получает или задает значение, указывающее, добавляются ли в подменю пункты меню коллекции Items.

Пространство имен:  Microsoft.Windows.Design.Interaction
Сборка:  Microsoft.Windows.Design.Interaction (в Microsoft.Windows.Design.Interaction.dll)

Синтаксис

'Декларация
Public Property HasDropDown As Boolean
    Get
    Set
public bool HasDropDown { get; set; }
public:
property bool HasDropDown {
    bool get ();
    void set (bool value);
}
member HasDropDown : bool with get, set
function get HasDropDown () : boolean
function set HasDropDown (value : boolean)

Значение свойства

Тип: System.Boolean
Значение true, если пункты меню из коллекции будут добавляться в подменю; значение false, если группа пунктов из коллекции будет добавлена непосредственно в текущее меню и ограничена разделителями по обоим краям.

Заметки

Если свойство HasDropDown имеет значение true, то пункты меню из коллекции пунктов добавляются в подменю. Пункт меню, свойство DisplayName которого имеет значение MenuGroup, добавляется в текущее меню, а пункты меню добавляются в подменю. Если свойство HasDropDown имеет значение false, то пункты меню в коллекции добавляются непосредственно в текущее меню и ограничиваются разделителями с двух сторон. Рассмотрим группу меню с именем Макет и двумя пунктами: Выровнять по левому краю и Выровнять по правому краю. Если свойство HasDropDown равно true, то меню Макет будет добавлено в текущее меню с пунктами подменю Выровнять по левому краю и Выровнять по правому краю. Если свойство HasDropDown равно false, то пункты Выровнять по левому краю и Выровнять по правому краю будут добавлены в текущее меню с разделителем перед пунктом Выровнять по левому краю и с разделителем после пункта Выровнять по правому краю.

Примеры

В следующем примере кода показано, как создать два пункта MenuAction и записать их в группу MenuGroup. Свойству HasDropDown задается значение true, чтобы включить режим контекстного меню. Дополнительные сведения см. в разделе Пошаговое руководство. Создание поставщика меню.

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

Безопасность платформы .NET Framework

См. также

Ссылки

MenuGroup Класс

Microsoft.Windows.Design.Interaction - пространство имен

MenuAction

PrimarySelectionContextMenuProvider

Другие ресурсы

Пошаговое руководство. Создание поставщика меню