Compartilhar via


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
Método público MenuAction Initializes a new instance of the MenuAction class.

Início

Propriedades

  Nome Descrição
Propriedade pública 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.
Propriedade pública Checked Obtém ou define um valor indicando se o item de menu é selecionado.
Propriedade pública Command Obtém o comando que representa a ação do menu.
Propriedade pública Context Obtém o atual contexto de edição. (Herdado de MenuBase.)
Propriedade pública DisplayName Obtém ou define o texto traduzido para exibir o item de menu. (Herdado de MenuBase.)
Propriedade pública Enabled Obtém ou define um valor que indica se o item de ação do menu está disponível para o usuário.
Propriedade pública ImageUri Obtém ou define o caminho para uma imagem associada a MenuAction.
Propriedade pública Name Obtém ou define o identificador exclusivo para o item de menu. (Herdado de MenuBase.)
Propriedade pública Visible Obtém ou define um valor indicando se o item é exibido no menu.

Início

Métodos

  Nome Descrição
Método público Equals Determina se o especificado Object é igual a atual Object. (Herdado de Object.)
Método protegido 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.)
Método público GetHashCode Serves as a hash function for a particular type. (Herdado de Object.)
Método público GetType Obtém o Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial do atual Object. (Herdado de Object.)
Método protegido OnPropertyChanged Raises the PropertyChanged event. (Herdado de MenuBase.)
Método público ToString Retorna um string que representa o objeto atual. (Herdado de Object.)

Início

Eventos

  Nome Descrição
Evento público Execute Ocorre quando o item de menu é executado.
Evento público 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

MenuGroup

Outros recursos

Passo a passo: Criando um provedor de menu