Partilhar via


Padrões de controlo e interfaces

Lista os padrões de controlo Microsoft Automatização da Interface de Utilizador, as classes que os clientes usam para os aceder e as interfaces que os fornecedores usam para os implementar.

A tabela deste tópico descreve os padrões de controlo de Automação de UI da Microsoft. A tabela também lista as classes usadas pelos clientes de Automatização da Interface de Utilizador para aceder aos padrões de controlo e às interfaces usadas pelos fornecedores de Automatização da Interface de Utilizador para os implementar. A coluna Control pattern mostra o nome do padrão a partir da perspetiva do cliente Automatização da Interface de Utilizador, como um valor constante listado em Control Pattern Availability Property Identifiers. Do ponto de vista do fornecedor de Automatização da Interface de Utilizador, cada um destes padrões é um nome constante PatternInterface. A coluna Provider interface mostra o nome da interface Microsoft.UI.Xaml.Automation.Provider que os 'providers' implementam para fornecer este padrão de interface para um controlo XAML personalizado.

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.

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

Padrão de controlo Interface do fornecedor WinUI Equivalente legado do 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 as aplicações clientes de Automatização da Interface de Utilizador 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 gerenciada 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 Automatização da Interface de Utilizador.
Janela IWindowProvider IWindowProvider Expõe informação específica de windows, um conceito fundamental para o sistema operativo 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 Automatização da Interface de Utilizador e para suportar cenários entre pares de automação que requerem uma implementação totalmente personalizada.