Classe MenuAction
Um item de menu de contexto que representa uma ação no designer.
Hierarquia de herança
System.Object
Microsoft.Windows.Design.Interaction.MenuBase
Microsoft.Windows.Design.Interaction.MenuAction
Namespace: Microsoft.Windows.Design.Interaction
Assembly: Microsoft.Windows.Design.Interaction (em Microsoft.Windows.Design.Interaction.dll)
Sintaxe
'Declaração
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
O tipo MenuAction expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
MenuAction | Initializes a new instance of the MenuAction class. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
Checkable | Obtém ou define um valor indicando se o item de menu requer a interface do usuário (UI) que exibe uma caixa de seleção. | |
Checked | Obtém ou define um valor indicando se o item de menu é selecionado. | |
Command | Obtém o comando que representa a ação do menu. | |
Context | Obtém o atual contexto de edição. (Herdado de MenuBase.) | |
DisplayName | Obtém ou define o texto traduzido para exibir o item de menu. (Herdado de MenuBase.) | |
Enabled | Obtém ou define um valor que indica se o item de ação do menu está disponível para o usuário. | |
ImageUri | Obtém ou define o caminho para uma imagem associada a MenuAction. | |
Name | Obtém ou define o identificador exclusivo para o item de menu. (Herdado de MenuBase.) | |
Visible | Obtém ou define um valor indicando se o item é exibido no menu. |
Início
Métodos
Nome | Descrição | |
---|---|---|
Equals | Determina se o especificado Object é igual a atual Object. (Herdado de Object.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Herdado de Object.) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
OnPropertyChanged | Raises the PropertyChanged event. (Herdado de MenuBase.) | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) |
Início
Eventos
Nome | Descrição | |
---|---|---|
Execute | Ocorre quando o item de menu é executado. | |
PropertyChanged | Ocorre quando uma propriedade é alterada. (Herdado de MenuBase.) |
Início
Comentários
Use o MenuAction classe para definir um item de menu de contexto na WPF Designer.
Para mostrar os itens de menu de contexto, herdam o ContextMenuProvider de classe e criar MenuAction itens e um tipo de MenuGroup. Esses objetos de menu são normalmente criados no construtor de uma classe derivada de PrimarySelectionContextMenuProvider, que mostra o menu de contexto da seleção principal.
Implementar a lógica para seu MenuAction na Execute manipulador de eventos.
O MenuAction classe é compatível com o sistema de comando do WPF. Use o Command propriedade para chamar o MenuAction programaticamente, em vez de por meio da interface do usuário.
Exemplos
O exemplo de código a seguir mostra como configurar dois MenuAction itens, que defina a Background propriedade de um controle em tempo de design. For more information, see Passo a passo: Criando um provedor de menu.
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);
}
Acesso thread-safe
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Consulte também
Referência
Namespace Microsoft.Windows.Design.Interaction
PrimarySelectionContextMenuProvider