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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.Windows.Design.Interaction - пространство имен
PrimarySelectionContextMenuProvider