Partilhar via


Padrões de controlo e interfaces

Lista os padrões de controlo do Microsoft UI Automation, as classes que os clientes usam para aceder a eles e as interfaces que os fornecedores usam para os implementar.

A tabela deste tópico descreve os padrões de controlo da Microsoft UI Automation. A tabela também lista as classes usadas pelos clientes de Automação de UI para aceder aos padrões de controlo e às interfaces usadas pelos fornecedores de Automação de UI para os implementar. A coluna do padrão Control mostra o nome do padrão da perspetiva do cliente UI Automation, como um valor constante listado nos Identificadores de Propriedade de Disponibilidade do Padrão Controlo. Do ponto de vista do fornecedor de Automação UI, cada um destes padrões é um nome de constante PatternInterface. A coluna da interface do fornecedor de classes mostra o nome da interface que os fornecedores implementam para fornecer este padrão para um controlo XAML personalizado.

Observação

Para aplicações WinUI construídas com o Windows App SDK, utilize as interfaces em Microsoft.UI.Xaml.Automation.Provider. Para aplicações UWP, use Windows.UI.Xaml.Automation.Provider.

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

Quando implementar um padrão de controlo, deve também consultar a documentação do fornecedor de Automação de Interface de Utilizador, que explica algumas das expectativas que os clientes terão em relação a um padrão de controlo, independentemente do framework de UI utilizado para o implementar. Algumas das informações listadas na documentação geral do fornecedor de Automação da UI influenciam a forma como implementas os teus pares e suportas corretamente esse padrão. Consulte Implementar Padrões de Controlo de Automação de UI e consulte a página que documenta o padrão que pretende implementar.

Padrão de controlo Interface do fornecedor WinUI Interface de fornecedor UWP Descrição
Annotation IAnnotationProvider IAnnotationProvider Usado para expor as propriedades de uma anotação num documento.
Dock IDockProvider IDockProvider Usado para controles que podem ser encaixados em um contêiner de encaixe. Por exemplo, barras de ferramentas ou paletas de ferramentas.
Drag IDragProvider IDragProvider Usado para suportar controlos arrastáveis, ou controlos com itens arrastáveis.
DropTarget IDropTargetProvider IDropTargetProvider Usado para suportar controlos que podem ser alvo de uma operação de arrastar e largar.
ExpandCollapse IExpandCollapseProvider IExpandCollapseProvider Usado para suportar controlos que se expandem visualmente para mostrar mais conteúdo e depois colapsam para ocultar conteúdo.
Grelha IGridProvider IGridProvider Usado para controlos que suportam a funcionalidade de grelha, como o dimensionamento e a movimentação para uma célula especificada. Note que o próprio Grid não implementa este padrão porque fornece layout, mas não é um controlo.
GridItem IGridItemProvider IGridItemProvider Usado para controles que têm células dentro de grades.
Invoque IInvokeProvider IInvokeProvider Usado para controlos que podem ser invocados, como um Botão.
ItemContainer IItemContainerProvider IItemContainerProvider Permite às aplicações encontrar um elemento num contentor, como uma lista virtualizada.
MultipleView IMultipleViewProvider IMultipleViewProvider Usado para controles que podem alternar entre várias representações do mesmo conjunto de informações, dados ou filhos.
ObjectModel IObjectModelProvider IObjectModelProvider Usado para expor um ponteiro ao modelo de objeto subjacente de um documento.
RangeValue IRangeValueProvider IRangeValueProvider Usado para controles que têm um intervalo de valores que podem ser aplicados ao controle. Por exemplo, um controlo de spinner contendo anos pode ter um intervalo de 1900 até ao ano atual, enquanto outro controlo de spinner que apresenta meses teria um intervalo de 1 a 12.
Scroll IScrollProvider IScrollProvider Usado para controles que podem rolar. Por exemplo, um controle que tem barras de rolagem que estão ativas quando há mais informações do que pode ser exibido na área visível do controle.
ScrollItem IScrollItemProvider 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.
Seleção ISelectionProvider ISelectionProvider Usado para controles de contêiner de seleção. Por exemplo, ListBox e ComboBox.
SelectionItem ISelectionItemProvider ISelectionItemProvider Usado para itens individuais em controles de seleção, como caixas de lista e caixas de combinação.
Folha de cálculo ISpreadsheetProvider ISpreadsheetProvider Usado para expor o conteúdo de uma folha de cálculo ou outro documento baseado em grelha.
SpreadsheetItem ISpreadsheetItemProvider ISpreadsheetItemProvider Usado para expor as propriedades de uma célula numa folha de cálculo ou outro documento baseado em grelha.
Estilos IStylesProvider IStylesProvider Usado para descrever um elemento de interface que tem um estilo específico, cor de preenchimento, padrão de preenchimento ou forma.
SynchronizedInput ISynchronizedInputProvider ISynchronizedInputProvider Permite que aplicações clientes de Automação de UI direcionem a entrada do rato ou teclado para um elemento específico da interface.
Tabela ITableProvider ITableProvider Usado para controles que têm uma grade, bem como informações de cabeçalho. Por exemplo, um controle de calendário tabular.
ElementoDaTabela ITableItemProvider ITableItemProvider Usado para itens numa tabela.
Texto ITextProvider ITextProvider Usado para editar controles e documentos que expõem informações textuais. Ver também ITextRangeProvider e ITextProvider2.
TextChild ITextChildProvider ITextChildProvider Usado para aceder ao mais próximo ancestral de um elemento que suporta o padrão de controlo Text.
TextEdit Não há classe gerenciada disponível Não há classe gerida disponível Fornece acesso a um controlo que modifica texto, por exemplo, um controlo que realiza auto-correção ou permite a composição de entrada através de um Editor de Métodos de Entrada (IME).
Intervalo de texto ITextRangeProvider ITextRangeProvider Fornece acesso a um espaço de texto contínuo num contentor de texto que implementa o ITextProvider. Ver também ITextRangeProvider2.
Alternar IToggleProvider IToggleProvider Usado para controlos onde é possível alternar o estado. Por exemplo, CheckBox e os itens de menu que podem ser selecionados.
Transformar ITransformProvider ITransformProvider Usado para controles que podem ser redimensionados, movidos e girados. Os usos típicos para o padrão de controle Transform são em designers, formulários, editores gráficos e aplicativos de desenho.
Value IValueProvider IValueProvider Permite que os clientes obtenham ou definam um valor em controles que não oferecem suporte a um intervalo de valores.
VirtualizedItem IVirtualizedItemProvider IVirtualizedItemProvider Expõe itens dentro de contentores virtualizados que precisam de ser totalmente acessíveis como elementos de Automação de UI.
Janela IWindowProvider IWindowProvider Expõe informações específicas do Windows, um conceito fundamental para o sistema operacional Microsoft Windows. Exemplos de controlos que são janelas incluem janelas filhas e caixas de diálogo.

Observação

Nem todos estes padrões são implementados por controlos XAML existentes. Algumas interfaces de padrões existem apenas para manter a paridade com as definições de padrões do framework geral de Automação da UI e para suportar cenários de automação entre pares que requerem uma implementação totalmente personalizada.