Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 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"
|
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