Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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"
|
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
- 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 de UI
- Visão geral da automação da interface do usuário