Partilhar via


Suporte de automação da 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 da interface do usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre a automação da interface de utilizador, consulte API de automação do Windows: Automação da Interface de Utilizador.

Este tópico fornece informações sobre o suporte de automação da interface do usuário da Microsoft para o tipo de controle MenuItem. Ele descreve a estrutura de árvore de automação da interface do usuário da Microsoft do controle e fornece as propriedades e padrões de controle necessários para o tipo de controle 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, Editar e Janela) e cada item de menu exibe um menu. Um menu contém uma coleção de itens de menu (como Nova, Abrire Fechar), que podem ser expandidos 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 da árvore de Automação da Interface do Usuário, propriedades, padrões de controle e eventos necessários para o tipo de controle MenuItem. Os requisitos de automação da interface do usuário se aplicam a todos os controles de lista, seja Windows Presentation Foundation (WPF), Win32 ou Windows Forms.

Estrutura de árvore de automação da interface do usuário necessária

A tabela a seguir descreve 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 Visão geral da árvore de automação da interface do usuário.

Vista de Controlo Visualização de conteúdo
MenuItem "Ajuda"

  • Menu (submenu do item de menu Ajuda)

    • MenuItem "Tópicos de Ajuda"
    • MenuItem "Sobre o bloco de notas"
MenuItem "Ajuda"

- Item de Menu "Tópicos de Ajuda"
- MenuItem "Sobre o bloco de notas"

A visualização de controle do controle de item de menu tem a estrutura de árvore de automação da interface do usuário mostrada acima. Observe que o item Ajuda do menu está incluído para ilustrar melhor a estrutura numa hierarquia típica de menu para submenu.

Para a exibição de conteúdo, Menu está ausente da árvore de automação da interface do usuário porque 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 de 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 de automação da interface do usuário, consulte Propriedades de automação da interface do usuário para clientes.

Propriedade Valor Descrição
AutomationIdProperty Ver notas. O valor dessa propriedade precisa ser exclusivo em todos os controles em um aplicativo.
BoundingRectangleProperty Ver notas. O retângulo mais externo que contém todo o controle.
ClickablePointProperty Ver notas. Suportado se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e você executar testes de acerto especializados, substitua e forneça um ponto clicável.
IsKeyboardFocusableProperty Ver notas. Se o controle pode receber foco do teclado, ele deve suportar essa propriedade.
NameProperty Ver notas. O controle de item de menu está incluído na exibição de conteúdo da árvore de Automação da Interface do Usuário e é autorotulado com um nome.
LabeledByProperty Null Sem etiqueta.
ControlTypeProperty Item de Menu 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 nunca é incluído na exibição de conteúdo da árvore de Automação da Interface do Usuário.
IsControlElementProperty Verdade O controlo do item de menu deve sempre ser incluído na vista de controlo da árvore de Automação da Interface do Utilizador.

Padrões de controle de automação da 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 padrões de controle de automação da interface do usuário.

Propriedade do Padrão de Controlo Apoio Observações
IExpandCollapseProvider Depende Se o controlo puder ser expandido ou recolhido, implemente IExpandCollapseProvider.
IInvokeProvider Depende Se o controlo executar uma única ação ou comando, implemente IInvokeProvider.
IToggleProvider Depende Se o controlo representar uma opção que pode ser ativada ou desativada, implemente IToggleProvider.
ISelectionItemProvider Depende Se o controle for usado para selecionar a partir de 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.

Evento Apoio Explicação
InvokedEvent Depende Deve ser gerado se o controle oferecer suporte ao padrão de controle Invoke.
ToggleStateProperty evento de alteração de propriedade. Depende Deve ser aumentado se o controle suportar o padrão de controle de alternância.
ExpandCollapseStateProperty evento de alteração de propriedade. Depende Deve ser ativada se o controle oferecer suporte ao padrão de controle Expandir Recolher.
ElementSelectedEvent Depende Nenhum.

Eventos de automação da 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 Observações
InvokedEvent Depende Nenhum
ElementAddedToSelectionEvent Depende Nenhum
ElementRemovedFromSelectionEvent Depende Nenhum
ElementSelectedEvent Depende Nenhum
BoundingRectangleProperty evento de alteração de propriedade. Obrigatório Nenhum
IsOffscreenProperty evento de alteração de propriedade. Obrigatório Nenhum
IsEnabledProperty evento de alteração de propriedade. Obrigatório Nenhum
ExpandCollapseStateProperty evento de alteração de propriedade. Depende Nenhum
ToggleStateProperty evento de alteração de propriedade. Depende Nenhum
AutomationFocusChangedEvent Obrigatório Nenhum
StructureChangedEvent Obrigatório Nenhum

Problemas herdados

O padrão de alternância só será suportado quando o item de menu do Win32 estiver marcado e for considerado necessário de forma programática suportá-lo. Como o item de menu Win32 não expõe se ele tem a capacidade de ser marcado, Invoke Pattern será suportado quando o item de menu não estiver marcado. Será feita uma exceção para sempre oferecer suporte a Invoke Pattern, mesmo para itens de menu que só devem suportar Toggle Pattern. Isso é para que os clientes não fiquem confusos ao perceber que um elemento que anteriormente suportava a funcionalidade Invoke Pattern (quando a opção de menu estava desmarcada) deixa de suportar a funcionalidade assim que é marcada.

Ver também