Compartilhar via


Classe MenuGroup

Representa um grupo de itens de menu.

Hierarquia de herança

System.Object
  Microsoft.Windows.Design.Interaction.MenuBase
    Microsoft.Windows.Design.Interaction.MenuGroup

Namespace:  Microsoft.Windows.Design.Interaction
Assembly:  Microsoft.Windows.Design.Interaction (em Microsoft.Windows.Design.Interaction.dll)

Sintaxe

'Declaração
Public Class MenuGroup _
    Inherits MenuBase
public class MenuGroup : MenuBase
public ref class MenuGroup : public MenuBase
type MenuGroup =  
    class
        inherit MenuBase
    end
public class MenuGroup extends MenuBase

O tipo MenuGroup expõe os membros a seguir.

Construtores

  Nome Descrição
Método público MenuGroup(String) Inicializa uma nova instância de MenuGroup classe que tem o nome do grupo especificado.
Método público MenuGroup(String, String) Inicializa uma nova instância de MenuGroup classe que tem o nome do grupo especificado e exibe o nome.

Início

Propriedades

  Nome Descrição
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 HasDropDown Obtém ou define um valor indicando se itens de menu no Items coleção são adicionados a um submenu.
Propriedade pública Items Obtém uma lista de itens de menu para exibir como irmãos dentro do mesmo grupo de menu.
Propriedade pública Name Obtém ou define o identificador exclusivo para o item de menu. (Herdado de MenuBase.)

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 PropertyChanged Ocorre quando uma propriedade é alterada. (Herdado de MenuBase.)

Início

Comentários

Itens de menu são representados pela MenuAction classe. Um grupo de menu pode ter uma coleção de itens de menu diretamente no menu ou como um submenu, também é chamado de um flutuante menu. Definir o HasDropDown propriedade para exibir itens de menu em um submenu.

Para mostrar os itens de menu de contexto, herdam o PrimarySelectionContextMenuProvider de classe e criar MenuAction itens e um tipo de MenuGroup.

Exemplos

O exemplo de código a seguir mostra como configurar dois MenuAction os itens e atribuí-los para um MenuGroup. For more information, see Passo a passo: Criando um provedor de menu.

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

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

MenuAction

PrimarySelectionContextMenuProvider

Outros recursos

Passo a passo: Criando um provedor de menu