Padrões e interfaces de controle

Lista os padrões de controle de 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 Microsoft. Ela também lista as classes usadas pelos 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á-las. A coluna Padrão de controle mostra o nome do padrão da perspectiva do cliente da Automação da Interface do Usuário, como um valor constante listado em Control Pattern Availability Property Identifiers. Da perspectiva do provedor da Automação da Interface do Usuário, cada um desses padrões é um nome de constante PatternInterface. A coluna Class provider interface mostra o nome da interface que os provedores implementam para fornecer esse padrão para um controle personalizado XAML.

Para saber mais sobre como implementar pares de automação personalizados que exponham padrões de controle e implementem as interfaces, consulte Pares de automação personalizados.

Ao implementar um padrão de controle, você também deverá consultar a documentação do provedor da Automação da Interface do Usuário, que explica algumas das expectativas que os clientes têm de um padrão de controle, independentemente de qual estrutura da IU é usada para implementá-lo. Algumas das informações listadas na documentação geral do provedor da Automação da Interface do Usuário influenciará a forma como você implementa seus pares e dá suporte correto a esse padrão. Consulte Implementando padrões de controle de Automação da Interface do Usuário, e visualize 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.
Doca IDockProvider Usado para controles que podem ser encaixados em um contêiner. Por exemplo, barras de ferramentas ou paletas de ferramentas.
Arrastar IDragProvider Usado para oferecer suporte aos controles arrastáveis ou controles com itens arrastáveis.
DropTarget IDropTargetProvider Usado para oferecer suporte aos controles podem ser o destino para uma operação de arrastar e soltar.
Expandcollapse IExpandCollapseProvider Usado para oferecer suporte aos controles que se expandem visualmente para exibir mais conteúdo e se recolhem para ocultar o conteúdo.
Grid IGridProvider Usado para controles que dão suporte à funcionalidade de grade, como dimensionamento e transferência para uma célula especificada. Observe que Grade em si não implementa esse padrão porque ele fornece layout, mas não é um controle.
GridItem IGridItemProvider Usado para controles que possuem células nas grades.
Invoke IInvokeProvider Usado para controles que podem ser invocados, como um Botão.
ItemContainer IItemContainerProvider Possibilita que os aplicativos localizem um elemento em um contêiner, como uma lista virtualizada.
MultipleView IMultipleViewProvider Usado para controles que podem alternar entre várias representações do mesmo conjunto de informações, dados ou filhos.
ObjectModel IObjectModelProvider Usado para expor um ponteiro para o 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 poderia ter o intervalo de 1900 até ano atual, já outro contendo meses poderia ter o 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 folha de cálculo ou de outro documento baseado em grade.
SpreadsheetItem ISpreadsheetItemProvider Usado para expor as propriedades de uma célula em uma folha de cálculo 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ífico.
SynchronizedInput ISynchronizedInputProvider Permite que os aplicativos de cliente da Automação da Interface do Usuário redirecionem a entrada do mouse ou do teclado para um elemento da interface do usuário específico.
Tabela ITableProvider Usado para controles que possuem uma grade e informações de cabeçalho. Por exemplo, um controle de calendário tabular.
TableItem ITableItemProvider Usado para itens em uma tabela.
Texto ITextProvider Usado para editar controles e documentos que exponham informações textuais. Consulte também ITextRangeProvider e ITextProvider2.
TextChild ITextChildProvider Usado para acessar o antecessor mais próximo de um elemento que suporta o padrão de controle Text.
TextEdit Não há classe gerenciada disponível Fornece acesso a um controle que modifica o texto, por exemplo, um controle que executa correção automática ou permite a composição de entrada através de um IME (Editor de Método de Entrada).
TextRange ITextRangeProvider Fornece acesso a um conjunto de texto contínuo em um contêiner de texto que implementa ITextProvider. Consulte também ITextRangeProvider2.
Alternar 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.
VirtualizedItem IVirtualizedItemProvider Expõe itens nos contêineres que são virtualizados e precisam estar totalmente acessíveis como elementos de automação da IU.
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 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 exclusivamente para oferecer suporte à paridade com a definição de padrões da estrutura de Automação da IU geral e para oferecer suporte a cenários de mesmo nível de automação que exigirão uma implementação puramente personalizada para oferecer suporte a esse padrão.

Observação

Os aplicativos da Store 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 sem suporte.