MenuAction - класс
Пункт контекстного меню, представляющий действие, выполняемое в конструкторе.
Иерархия наследования
System.Object
Microsoft.Windows.Design.Interaction.MenuBase
Microsoft.Windows.Design.Interaction.MenuAction
Пространство имен: Microsoft.Windows.Design.Interaction
Сборка: Microsoft.Windows.Design.Interaction (в Microsoft.Windows.Design.Interaction.dll)
Синтаксис
'Декларация
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
Тип MenuAction предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
MenuAction | Инициализирует новый экземпляр класса MenuAction. |
В начало страницы
Свойства
Имя | Описание | |
---|---|---|
Checkable | Получает или задает значение, указывающее, требуется ли для пункта меню пользовательский интерфейс, отображающий флажок. | |
Checked | Получает или задает значение, указывающее, отмечен ли пункт меню. | |
Command | Получает команду, представляющую действие меню. | |
Context | Возвращает текущий контекст редактирования. (Унаследовано от MenuBase.) | |
DisplayName | Возвращает или задает локализованный текст, отображаемый для пункта меню. (Унаследовано от MenuBase.) | |
Enabled | Получает или задает значение, указывающее, доступен ли пользователю пункт действия меню. | |
ImageUri | Получает или задает путь к изображению, связанному с MenuAction. | |
Name | Возвращает или задает уникальный идентификатор пункта меню. (Унаследовано от MenuBase.) | |
Visible | Получает или задает значение, указывающее, отображается ли пункт в меню. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
Equals | Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.) | |
Finalize | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.) | |
GetHashCode | Играет роль хэш-функции для определенного типа. (Унаследовано от Object.) | |
GetType | Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) | |
MemberwiseClone | Создает неполную копию текущего объекта Object. (Унаследовано от Object.) | |
OnPropertyChanged | Создает событие PropertyChanged. (Унаследовано от MenuBase.) | |
ToString | Возвращение строки, представляющей текущий объект. (Унаследовано от Object.) |
В начало страницы
События
Имя | Описание | |
---|---|---|
Execute | Происходит при выполнении пункта меню. | |
PropertyChanged | Происходит при изменении свойства. (Унаследовано от MenuBase.) |
В начало страницы
Заметки
Класс MenuAction используется для определения пунктов контекстных меню в сред. Конструктор WPF.
Чтобы отображать пункты контекстного меню, необходимо наследовать от класса ContextMenuProvider, создать элементы MenuAction и связанную группу MenuGroup. Эти объекты меню обычно создаются в конструкторе класса, производного от PrimarySelectionContextMenuProvider, который отображает контекстное меню главного выделения.
Логика действия MenuAction реализуется в обработчике событий Execute.
Класс MenuAction совместим с системой команд WPF. Свойство Command используется для вызова действий MenuAction программным способом, а не через пользовательский интерфейс.
Примеры
В следующем примере показано, как задать два элемента MenuAction, которые определяют свойство Background элемента управления во время разработки. Дополнительные сведения см. в разделе Пошаговое руководство. Создание поставщика меню.
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);
}
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.Windows.Design.Interaction - пространство имен
PrimarySelectionContextMenuProvider