Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Tópicos relacionados
Windows developer