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.
Essa visão geral apresenta os padrões de controle da Automação da Interface do Usuário da Microsoft. Os padrões de controle fornecem uma maneira de categorizar e expor a funcionalidade de um controle independentemente do tipo de controle ou da aparência do controle.
A Automação de Interface do Usuário usa padrões de controle para representar comportamentos de controle comuns. Por exemplo, você usa o padrão de controle Invoke para controles que podem ser invocados (como botões) e o padrão de controle Scroll para controles que têm barras de rolagem (como caixas de listagem, exibições de lista ou caixas de combinação). Como cada padrão de controle representa uma funcionalidade separada, eles podem ser combinados para descrever o conjunto completo de funcionalidades com suporte de um controle específico.
Observação
Os controles agregados, criados com controles filho que fornecem a interface do usuário (interface do usuário) para a funcionalidade exposta pelo pai, devem implementar todos os padrões de controle normalmente associados a cada controle filho. Por sua vez, esses mesmos padrões de controle não são necessários para serem implementados pelos controles filho.
Componentes de padrão de controle Automação da Interface do Usuário
Os padrões de controle dão suporte aos métodos, propriedades, eventos e relações necessários para definir uma parte discreta da funcionalidade disponível em um controle.
A relação entre um elemento de Automação da Interface do Usuário e seus pais, filhos e irmãos descreve a estrutura do elemento dentro da árvore de Automação da Interface do Usuário.
Os métodos permitem que os clientes de Automação da Interface do Usuário manipulem o controle.
As propriedades e os eventos fornecem informações sobre a funcionalidade do padrão de controle, bem como informações sobre o estado do controle.
Os padrões de controle estão relacionados à interface do usuário como interfaces relacionadas a objetos COM (Component Object Model). No COM, você pode consultar um objeto para perguntar quais interfaces ele dá suporte e, em seguida, usar essas interfaces para acessar a funcionalidade. Na Automação da Interface do Usuário, os clientes de Automação da Interface do Usuário podem perguntar a um controle quais padrões de controle ele dá suporte e, em seguida, interagir com o controle por meio das propriedades, métodos, eventos e estruturas expostas pelos padrões de controle com suporte. Por exemplo, para uma caixa de edição de várias linhas, Automação da Interface do Usuário provedores implementam IScrollProvider. Quando um cliente sabe que um AutomationElement é compatível com o padrão de controle ScrollPattern, ele pode usar as propriedades, métodos e eventos expostos por esse padrão de controle para manipular o controle ou acessar informações sobre o controle.
Provedores e clientes de automação da interface do usuário
Os provedores de Automação da Interface do Usuário implementam padrões de controle para expor o comportamento apropriado para uma parte específica da funcionalidade compatível com o controle.
Os clientes de Automação da Interface do Usuário acessam métodos e propriedades de classes de padrão de controle da Automação da Interface do Usuário e as usam para obter informações sobre a interface do usuário ou manipular a interface do usuário. Essas classes de padrão de controle são encontradas no System.Windows.Automation namespace (por exemplo, InvokePattern e SelectionPattern).
Os clientes usam AutomationElement métodos (como AutomationElement.GetCurrentPropertyValue ou AutomationElement.GetCachedPropertyValue) ou os acessadores clr (common language runtime) para acessar as propriedades Automação da Interface do Usuário em um padrão. Cada classe de padrão de controle tem um membro de campo (por exemplo, InvokePattern.Pattern ou SelectionPattern.Pattern) que identifica esse padrão de controle e pode ser passado como um parâmetro para GetCachedPattern ou GetCurrentPattern para recuperar esse padrão para um AutomationElement.
Padrões de controle dinâmico
Alguns controles nem sempre dão suporte ao mesmo conjunto de padrões de controle. Os padrões de controle são considerados compatíveis quando estão disponíveis para um cliente de Automação da Interface do Usuário. Por exemplo, uma caixa de edição de várias linhas habilita a rolagem vertical somente quando contém mais linhas de texto do que pode ser exibida em sua área visível. A rolagem é desabilitada quando o texto suficiente é removido para que a rolagem não seja mais necessária. Para este exemplo, o padrão de controle ScrollPattern é suportado dinamicamente dependendo do estado atual do controle (a quantidade de texto presente na caixa de edição).
Controlar padrões de classes e interfaces
A tabela a seguir descreve os padrões de controle da Automação de Interface do Usuário. A tabela também lista as classes usadas pelos clientes de Automação da Interface do Usuário para acessar os padrões de controle, bem como as interfaces usadas pelos provedores de Automação da Interface do Usuário para implementá-los.
| Classe Control Pattern | Interface do Provedor | Descrição |
|---|---|---|
| DockPattern | IDockProvider | Usado para controles que podem ser encaixados em um contêiner de ancoragem. Por exemplo, barras de ferramentas ou paletas de ferramentas. |
| ExpandCollapsePattern | IExpandCollapseProvider | Usado para controles que podem ser expandidos ou recolhidos. Por exemplo, itens de menu em um aplicativo, como o menu Arquivo . |
| GridPattern | IGridProvider | Usado para controles que suportam funcionalidades de tabela, como o dimensionamento e a movimentação para uma célula especificada. Por exemplo, a exibição de ícone grande no Windows Explorer ou tabelas simples sem cabeçalhos no Microsoft Word. |
| GridItemPattern | IGridItemProvider | Usado em controles que possuem células dentro de grades. As células individuais devem dar suporte ao padrão GridItem. Por exemplo, cada célula no modo de exibição de detalhes do Microsoft Windows Explorer. |
| InvokePattern | IInvokeProvider | Usado para controles que podem ser invocados, como um botão. |
| MultipleViewPattern | IMultipleViewProvider | Usado para controles que podem alternar entre várias representações do mesmo conjunto de informações, dados ou filhos. Por exemplo, um controle de exibição de lista em que os dados estão disponíveis nas exibições em miniatura, bloco, ícone, lista ou detalhes. |
| RangeValuePattern | IRangeValueProvider | Usado para controles que têm um intervalo de valores que podem ser aplicados ao controle. Por exemplo, um controle spinner que contém anos pode ter um intervalo de 1900 a 2010, enquanto outro controle spinner que apresenta meses teria um intervalo de 1 a 12. |
| ScrollPattern | IScrollProvider | Usado para controles roláveis. Por exemplo, um controle que tem barras de rolagem que estão ativas quando há mais informações do que podem ser exibidas na área visível do controle. |
| ScrollItemPattern | IScrollItemProvider | Usado para controles que têm itens individuais em uma lista que rola. Por exemplo, um controle de lista que tem itens individuais na lista de rolagem, como um controle de caixa de combinação. |
| SelectionPattern | ISelectionProvider | Usado para controles de seleção de contêiner. Por exemplo, caixas de listagem e caixas de combinação. |
| SelectionItemPattern | ISelectionItemProvider | Usado para itens individuais em controles de contêiner de seleção, como caixas de lista e caixas de combinação. |
| TablePattern | ITableProvider | Usado para controles que têm uma grade, bem como informações de cabeçalho. Por exemplo, planilhas do Microsoft Excel. |
| TableItemPattern | ITableItemProvider | Usado para itens em uma tabela. |
| TextPattern | ITextProvider | Usado para editar controles e documentos que expõem informações textuais. |
| TogglePattern | IToggleProvider | Usado para controles em que o estado pode ser alternado. Por exemplo, caixas de seleção e itens de menu verificáveis. |
| TransformPattern | ITransformProvider | Usado para controles que podem ser redimensionados, movidos e girados. Os usos típicos para o padrão de controle Transform estão em ferramentas de design, formulários, editores gráficos e aplicativos de desenho. |
| ValuePattern | IValueProvider | Permite que os clientes obtenham ou definam um valor em controles que não dão suporte a um intervalo de valores. Por exemplo, um seletor de data e hora. |
| WindowPattern | IWindowProvider | Expõe informações específicas do Windows, um conceito fundamental para o sistema operacional Microsoft Windows. Exemplos de controles que são janelas incluem janelas de aplicativos de nível superior (Microsoft Word, Microsoft Windows Explorer, entre outros), janelas filhas da interface de múltiplos documentos (MDI) e caixas de diálogo. |
Consulte também
- Padrões de Controle para Clientes de Automação de IU
- mapeamento de padrões de controle para clientes de automação de interface do usuário
- Visão geral da automação da interface do usuário
- Propriedades de automação da interface do usuário para clientes
- Eventos de automação da interface do usuário para clientes