Compartilhar via


Suporte à automação de interface do usuário para o tipo de controle MenuItem

Observação

Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de Automação de Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre Automação de Interface do Usuário, consulte API de Automação do Windows: Automação de Interface do Usuário.

Este tópico fornece informações sobre o suporte à Automação de Interface do Usuário da Microsoft para o tipo de controle MenuItem. Ele descreve a estrutura de árvore de Automação de Interface de Usuário Microsoft do controle e fornece as propriedades e os padrões de controle necessários para o tipo de controle de MenuItem.

Um controle de menu permite a organização hierárquica de elementos associados a comandos e manipuladores de eventos. Em um aplicativo típico do Microsoft Windows, uma barra de menus contém vários itens de menu (como Arquivo, Edição e Janela) e cada item de menu exibe um menu. Um menu contém uma coleção de itens de menu (como New, Opene Close), que pode ser expandido para exibir itens de menu adicionais ou executar uma ação específica quando clicado. Um item de menu pode ser hospedado em um menu, barra de menus ou barra de ferramentas.

As seções a seguir definem a estrutura de árvore de automação de interface do usuário, as propriedades, os padrões de controle e os eventos necessários para o tipo de controle Elemento de Menu. Os requisitos de Automação da Interface do Usuário se aplicam a todos os controles de lista, seja o WPF (Windows Presentation Foundation), o Win32 ou o Windows Forms.

Estrutura de árvore de Automação da IU necessária

A tabela a seguir ilustra a exibição de controle e a exibição de conteúdo da árvore de Automação da Interface do Usuário que pertence aos controles de item de menu e descreve o que pode ser contido em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, consulte a visão geral da árvore de automação da interface do usuário.

Modo de Exibição de Controle Exibição de conteúdo
MenuItem "Ajuda"

  • Menu (submenu do item de menu Ajuda)

    • MenuItem "Tópicos da Ajuda"
    • MenuItem "Sobre o Bloco de Notas"
MenuItem "Ajuda"

− MenuItem "Tópicos da Ajuda"
− MenuItem "Sobre o Bloco de Notas"

A exibição de controle do controle de item de menu tem a estrutura de árvore de Automação da Interface do Usuário mostrada acima. Note que o item de menu Ajuda está incluído para ilustrar melhor a estrutura em uma hierarquia típica de menu para submenu.

Para o modo de exibição de conteúdo, o Menu está ausente da árvore de Automação da Interface do Usuário porque ele não transmite informações significativas para o usuário final.

Propriedades de automação da interface do usuário necessárias

A tabela a seguir lista as propriedades da Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para controles de item de menu. Para obter mais informações sobre as propriedades da Automação da Interface do Usuário, consulte Propriedades de Automação da Interface do Usuário para Clientes.

Propriedade Valor Descrição
AutomationIdProperty Confira as anotações. O valor dessa propriedade precisa ser exclusivo em todos os controles em um aplicativo.
BoundingRectangleProperty Confira as anotações. O retângulo mais externo que contém todo o controle.
ClickablePointProperty Confira as anotações. Com suporte se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e você executar um teste de clique especializado, substitua e forneça um ponto clicável.
IsKeyboardFocusableProperty Confira as anotações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
NameProperty Confira as anotações. O controle de item de menu está incluído na exibição de conteúdo da árvore de automação da IU e é autorrotulado com um nome.
LabeledByProperty Null Sem etiqueta.
ControlTypeProperty MenuItem Esse valor é o mesmo para todas as estruturas de interface do usuário.
LocalizedControlTypeProperty "item de menu" Cadeia de caracteres localizada correspondente ao tipo de controle MenuItem.
IsContentElementProperty Verdade O controle de item de menu não está incluído na exibição de conteúdo da árvore de automação da IU.
IsControlElementProperty Verdade O controle de item de menu deve sempre ser incluído na exibição de controle da árvore de automação da IU.

Padrões de controle de automação de interface do usuário necessários

A tabela a seguir lista os padrões de controle de Automação da Interface do Usuário necessários para serem suportados pelos controles de item de menu. Para obter mais informações sobre padrões de controle, consulte Visão geral dos padrões de controle de automação da interface do usuário.

Propriedade do Padrão de Controle Apoio Anotações
IExpandCollapseProvider Depende Se o controle puder ser expandido ou recolhido, implemente IExpandCollapseProvider.
IInvokeProvider Depende Se o controle executar uma única ação ou comando, implemente IInvokeProvider.
IToggleProvider Depende Se o controle representar uma opção que pode ser ativada ou desativada, implemente IToggleProvider.
ISelectionItemProvider Depende Se o controle for usado para selecionar em uma lista de opções entre itens de menu, implemente ISelectionItemProvider.

Eventos de automação da interface do usuário para item de menu

A tabela a seguir lista os eventos de Automação da Interface do Usuário da Microsoft associados ao controle de item de menu.

Acontecimento Apoio Explicação
InvokedEvent Depende Deve ser gerado se o controle der suporte ao padrão de controle Invoke.
ToggleStateProperty evento de alteração da propriedade. Depende Deve ser gerado se o controle der suporte ao padrão de controle Toggle.
ExpandCollapseStateProperty evento de alteração da propriedade. Depende Deve ser gerado se o controle der suporte ao padrão de controle Expand Collapse.
ElementSelectedEvent Depende Nenhum.

Eventos de automação de interface do usuário necessários

A tabela a seguir lista os eventos de Automação da Interface do Usuário necessários para serem suportados por todos os controles de item de menu. Para obter mais informações sobre eventos, consulte Visão geral de eventos de automação da interface do usuário.

Evento de automação da interface do usuário Suporte/valor Anotações
InvokedEvent Depende Nenhum
ElementAddedToSelectionEvent Depende Nenhum
ElementRemovedFromSelectionEvent Depende Nenhum
ElementSelectedEvent Depende Nenhum
BoundingRectangleProperty evento de alteração da propriedade. Obrigatório Nenhum
IsOffscreenProperty evento de alteração da propriedade. Obrigatório Nenhum
IsEnabledProperty evento de alteração da propriedade. Obrigatório Nenhum
ExpandCollapseStateProperty evento de alteração da propriedade. Depende Nenhum
ToggleStateProperty evento de alteração da propriedade. Depende Nenhum
AutomationFocusChangedEvent Obrigatório Nenhum
StructureChangedEvent Obrigatório Nenhum

Problemas herdados

O Padrão de Alternância só terá suporte quando o item de menu Win32 for verificado e puder ser determinado programaticamente como necessário para dar suporte ao Padrão de Alternância. Como o item de menu Win32 não expõe se ele tem a capacidade de ser verificado, o Padrão de Invocação terá suporte quando o item de menu não for verificado. Uma exceção será feita para dar suporte sempre ao Padrão Invoke, mesmo para itens de menu que deveriam dar suporte apenas ao Padrão Toggle. Isso é para que os clientes não fiquem confusos se um elemento que dá suporte ao Padrão de Invocação (quando o item de menu foi desmarcado) não dá mais suporte ao padrão após ele ser verificado.

Consulte também

  • MenuItem
  • Visão geral dos padrões de controle de automação da interface do usuário
  • Visão geral dos tipos de controle de automação da interface do usuário
  • Visão geral da automação da interface do usuário