Padrões e interfaces de controle

Lista os padrões de controle da Automação da interface do usuário da Microsoft, as classes que os clientes usam para acessá-los e as interfaces que os provedores usam para implementá-los.

A tabela neste tópico descreve os padrões de controle de Automação da Interface do Usuário da Microsoft. A tabela também lista as classes usadas por clientes de Automação da Interface do Usuário para acessar os padrões de controle e as interfaces usadas pelos provedores de Automação da Interface do Usuário para implementá-los. A coluna Padrão de controle mostra o nome do padrão da perspectiva do cliente de Automação da Interface do Usuário, como um valor constante listado em Identificadores de Propriedade de Disponibilidade de Padrão de Controle. Da perspectiva do provedor de automação da interface do usuário, cada um desses padrões é um nome constante PatternInterface . A coluna Interface do provedor de classe mostra o nome da interface que os provedores implementam para fornecer esse padrão para um controle XAML personalizado.

Para obter mais informações sobre como implementar pares de automação personalizados que expõem padrões de controle e implementam as interfaces, consulte Pares de automação personalizados.

Ao implementar um padrão de controle, você também deve consultar a documentação do provedor de Automação da Interface do Usuário que explica algumas das expectativas que os clientes terão de um padrão de controle, independentemente de qual estrutura de interface do usuário é usada para implementá-lo. Algumas das informações listadas na documentação geral do provedor de Automação da Interface do Usuário influenciarão como você implementará seus pares e dará suporte corretamente a esse padrão. Consulte Implementando padrões de controle de automação da interface do usuário e exiba a página que documenta o padrão que você pretende implementar.

Padrão de controle Interface do provedor de classe Descrição
Anotação IAnnotationProvider Usado para expor as propriedades de uma anotação em um documento.
Encaixar Provedor de IDock Usado para controles que podem ser encaixados em um contêiner. Por exemplo, barras de ferramentas ou paletas de ferramentas.
Arrastar Provedor de IDrag Usado para dar suporte a controles arrastáveis ou controles com itens arrastáveis.
DropTarget IDropTargetProvider Usado para dar suporte a controles que podem ser o destino de uma operação de arrastar e soltar.
ExpandirRecolher IExpandCollapseProvider Usado para dar suporte a controles que se expandem visualmente para exibir mais conteúdo e recolhem para ocultar o conteúdo.
Grid Provedor IGridProvider Usado para controles que dão suporte à funcionalidade de grade, como dimensionamento e transferência para uma célula especificada. Observe que o próprio Grid não implementa esse padrão porque fornece layout, mas não é um controle.
GridItem Provedor de itens IGridItemProvider Usado para controles que possuem células nas grades.
Invoke IInvokeProvider Usado para controles que podem ser invocados, como um Button.
Contêiner de item IItemContainerProvider Permite que os aplicativos localizem um elemento em um contêiner, como uma lista virtualizada.
Visualização múltipla IMultipleViewProvider Usado para controles que podem alternar entre várias representações do mesmo conjunto de informações, dados ou filhos.
Modelo de objeto IObjectModelProvider Usado para expor um ponteiro ao modelo de objeto subjacente de um documento.
RangeValue IRangeValueProvider Usado para controles que possuem um intervalo de valores que podem ser aplicados ao controle. Por exemplo, um controle giratório contendo anos pode ter um intervalo de 1900 até o ano atual, enquanto outro controle giratório apresentando meses teria um intervalo de 1 a 12.
Rolar IScrollProvider Usado para controles que podem ser rolados. Por exemplo, um controle que tenha barras de rolagem que ficam ativas quando há mais informações que podem ser exibidas na área de visualização do controle.
ScrollItem IScrollItemProvider Usado para controles que possuem itens individuais em uma lista de rolagem. Por exemplo, um controle de lista que possua itens individuais na lista de rolagem, como um controle de caixa de combinação.
Seleção ISelectionProvider Usado para controles de contêiner de seleção. Por exemplo, ListBox e ComboBox.
SelectionItem ISelectionItemProvider Usado para itens individuais nos controles do contêiner de seleção, como caixas de listagem e caixas de combinação.
Planilha ISpreadsheetProvider Usado para expor o conteúdo de uma planilha ou outro documento baseado em grade.
Item de planilha ISpreadsheetItemProvider Usado para expor as propriedades de uma célula em uma planilha ou outro documento baseado em grade.
Estilos IStylesProvider Usado para descrever um elemento de interface do usuário que tem um estilo, cor de preenchimento, padrão de preenchimento ou forma específicos.
Entrada sincronizada ISynchronizedInputProvider Permite que os aplicativos cliente de automação da interface do usuário direcionem a entrada do mouse ou do teclado para um elemento específico da interface do usuário.
Tabela Provedor de TI Usado para controles que possuem uma grade e informações de cabeçalho. Por exemplo, um controle de calendário tabular.
Item de tabela ITableItemProvider Usado para itens em uma tabela.
Text ITextProvider Usado para editar controles e documentos que exponham informações textuais. Consulte também ITextRangeProvider e ITextProvider2.
Criança de texto ITextChildProvider Usado para acessar o ancestral mais próximo de um elemento que dá suporte ao padrão de controle Text .
Edição de texto Nenhuma classe gerenciada disponível Fornece acesso a um controle que modifica texto, por exemplo, um controle que executa a correção automática ou habilita a composição de entrada por meio de um IME (Editor de Método de Entrada).
TextRange Provedor de Intervalo de Erros Fornece acesso a um intervalo de texto contínuo em um contêiner de texto que implementa ITextProvider. Consulte também ITextRangeProvider2.
Ativar/desativar IToggleProvider Usado para controles onde é possível alternar o estado. Por exemplo, CheckBox e itens de menu que podem ser marcados.
Transformar ITransformProvider Usado para controles que podem ser redimensionados, transferidos e girados. O padrão de controle de transformação costuma ser usado em aplicativos de desenho, design, formulários e editores gráficos.
Valor IValueProvider Possibilita que os clientes obtenham ou definam um valor nos controles que não dão suporte a um intervalo de valores.
Item virtualizado IVirtualizedItemProvider Expõe itens dentro de contêineres que são virtualizados e precisam ser totalmente acessíveis como elementos de automação da interface do usuário.
Window IWindowProvider Expõe informações específicas de janelas, um conceito fundamental para o sistema operacional Microsoft Windows. Exemplos de controles que são janelas são janelas filho e caixas de diálogo.

Observação

Você não encontrará necessariamente implementações de todos esses padrões em controles XAML existentes. Alguns dos padrões têm interfaces apenas para dar suporte à paridade com a definição geral de padrões da estrutura de automação da interface do usuário e para dar suporte a cenários de pares de automação que exigirão uma implementação puramente personalizada para dar suporte a esse padrão.

Observação

Os aplicativos da Loja do Windows Phone não dão suporte a todos os padrões de controle de automação da interface do usuário listados aqui. Annotation, Dock, Drag, DropTarget, ObjectModel são alguns dos padrões não suportados.