Condividi tramite


Modelli di controllo e interfacce

Elenca i modelli di controllo di Microsoft UI Automation, le classi usate dai client per accedervi e i provider di interfacce usati per implementarli.

La tabella in questo argomento descrive i modelli di controllo di Automazione interfaccia utente Microsoft. La tabella elenca anche le classi usate dai client di automazione interfaccia utente per accedere ai pattern di controllo e alle interfacce usate dai provider di automazione interfaccia utente per implementarle. La colonna Pattern di controllo mostra il nome del modello dal punto di vista del client di automazione interfaccia utente, come valore costante elencato in Identificatori di proprietà di disponibilità del pattern di controllo. Dal punto di vista del provider di automazione interfaccia utente, ognuno di questi modelli è un nome costante PatternInterface . La colonna Interfaccia del provider di classi mostra il nome dell'interfaccia implementata dai provider per fornire questo modello per un controllo XAML personalizzato.

Annotazioni

Per le app WinUI create con Windows App SDK, usare le interfacce in Microsoft.UI.Xaml.Automation.Provider. Se si gestisce una codebase UWP legacy, esistono interfacce equivalenti in Windows.UI.Xaml.Automation.Provider.

Per altre info su come implementare peer di automazione personalizzati che espongono modelli di controllo e implementano le interfacce, vedi Peer di automazione personalizzati.

Quando si implementa un pattern di controllo, è anche necessario consultare la documentazione del provider di automazione interfaccia utente che spiega alcune delle aspettative che i client avranno un pattern di controllo indipendentemente dal framework dell'interfaccia utente usato per implementarlo. Alcune delle informazioni elencate nella documentazione generale del provider di automazione dell'interfaccia utente influenzeranno il modo in cui implementi i peer e supporti correttamente tale schema. Vedere Implementazione dei modelli di controllo di automazione interfaccia utente e visualizzare la pagina che documenta il modello che si intende implementare.

Pattern di controllo Interfaccia del provider WinUI Equivalente UWP obsoleto Descrizione
Annotation IAnnotationProvider IAnnotationProvider Utilizzato per esporre le proprietà di un'annotazione in un documento.
Dock Idockprovider Idockprovider Usato per i controlli che possono essere ancorati in un contenitore di ancoraggio. Ad esempio, barre degli strumenti o tavolozze degli strumenti.
Drag IDragProvider IDragProvider Utilizzato per supportare controlli trascinabili o controlli con elementi trascinabili.
DropTarget IDropTargetProvider IDropTargetProvider Usato per supportare i controlli che possono essere l'obiettivo di un'operazione di trascina e rilascia.
Expandcollapse IExpandCollapseProvider IExpandCollapseProvider Usato per supportare controlli che si espandono visivamente per visualizzare più contenuto e comprimere per nascondere il contenuto.
Griglia Igridprovider Igridprovider Usato per i controlli che supportano la funzionalità della griglia, ad esempio il ridimensionamento e lo spostamento in una cella specificata. Si noti che Grid stesso non implementa questo modello perché fornisce il layout, ma non è un controllo.
GridItem Igriditemprovider Igriditemprovider Usato per i controlli con celle all'interno delle griglie.
Richiamare IInvokeProvider IInvokeProvider Usato per i controlli che possono essere richiamati, ad esempio un pulsante.
ItemContainer IItemContainerProvider IItemContainerProvider Consente alle applicazioni di trovare un elemento in un contenitore, ad esempio un elenco virtualizzato.
MultipleView IMultipleViewProvider IMultipleViewProvider Usato per i controlli che possono passare tra varie rappresentazioni dello stesso set di informazioni, dati o sottoelementi.
ObjectModel IObjectModelProvider IObjectModelProvider Utilizzato per esporre un puntatore al modello a oggetti sottostante di un documento.
RangeValue IRangeValueProvider IRangeValueProvider Utilizzato per i controlli con un intervallo di valori che possono essere applicati al controllo. Ad esempio, un controllo spinner contenente anni potrebbe avere un intervallo compreso tra 1900 e l'anno corrente, mentre un altro controllo spinner che presenta mesi avrebbe un intervallo compreso tra 1 e 12.
Scroll IScrollProvider IScrollProvider Utilizzato per i controlli a scorrimento. Ad esempio, un controllo con barre di scorrimento attive quando sono presenti più informazioni di quelle che possono essere visualizzate nell'area visualizzabile del controllo.
ScrollItem IScrollItemProvider IScrollItemProvider Utilizzato per i controlli con singoli elementi in un elenco che scorre. Ad esempio, un controllo elenco con singoli elementi nell'elenco di scorrimento, ad esempio un controllo casella combinata.
Selezione Iselectionprovider Iselectionprovider Usato per i controlli contenitore di selezione. Ad esempio, ListBox e ComboBox.
SelectionItem ISelectionItemProvider ISelectionItemProvider Utilizzato per elementi singoli nei controlli di selezione del contenitore, come le caselle di riepilogo e le caselle combinate.
Foglio di calcolo ISpreadsheetProvider ISpreadsheetProvider Utilizzato per esporre il contenuto di un foglio di calcolo o di un altro documento basato su griglia.
SpreadsheetItem ISpreadsheetItemProvider ISpreadsheetItemProvider Utilizzato per esporre le proprietà di una cella in un foglio di calcolo o in un altro documento basato su griglia.
Stili IStylesProvider IStylesProvider Utilizzato per descrivere un elemento dell'interfaccia utente con uno stile, un colore di riempimento, un motivo di riempimento o una forma specifici.
SynchronizedInput ISynchronizedInputProvider ISynchronizedInputProvider Consente alle app client di Automazione interfaccia utente di indirizzare l'input del mouse o della tastiera a un elemento dell'interfaccia utente specifico.
Tabella Itableprovider Itableprovider Usato per i controlli con una griglia e informazioni sull'intestazione. Ad esempio, un controllo calendario tabulare.
TableItem ITableItemProvider ITableItemProvider Utilizzato per gli elementi di una tabella.
Text Itextprovider Itextprovider Utilizzato per modificare controlli e documenti che espongono informazioni testuali. Vedere anche ITextRangeProvider e ITextProvider2.
TextChild ITextChildProvider ITextChildProvider Utilizzato per accedere al predecessore più vicino di un elemento che supporta il pattern di controllo Text .
Textedit Nessuna classe gestita disponibile Nessuna classe gestita disponibile Fornisce l'accesso a un controllo che modifica il testo, ad esempio un controllo che esegue la correzione automatica o abilita la composizione di input tramite un IME (Input Method Editor).
IntervalloDiTesto ITextRangeProvider ITextRangeProvider Fornisce l'accesso a un intervallo di testo continuo in un contenitore di testo che implementa ITextProvider. Vedere anche ITextRangeProvider2.
Attiva/Disattiva Itoggleprovider Itoggleprovider Utilizzato per i controlli in cui lo stato può essere commutato. Ad esempio, CheckBox e voci di menu che possono essere controllate.
Trasformazione ITransformProvider ITransformProvider Utilizzato per i controlli che possono essere ridimensionati, spostati e ruotati. Gli usi tipici per il pattern di controllo Transform si trovano in finestre di progettazione, moduli, editor grafici e applicazioni di disegno.
Valore Ivalueprovider Ivalueprovider Consente ai client di ottenere o impostare un valore nei controlli che non supportano un intervallo di valori.
VirtualizedItem IVirtualizedItemProvider IVirtualizedItemProvider Espone gli elementi all'interno di contenitori virtualizzati e che devono essere resi completamente accessibili come elementi di automazione interfaccia utente.
Finestra IWindowProvider IWindowProvider Espone le informazioni specifiche delle finestre, un concetto fondamentale per il sistema operativo Microsoft Windows. Esempi di controlli che sono finestre sono finestre figlio e finestre di dialogo.

Annotazioni

Non tutti questi modelli vengono implementati dai controlli XAML esistenti. Alcune interfacce di pattern esistono solo per mantenere la parità con le definizioni di pattern del framework di automazione interfaccia utente generale e per supportare scenari peer di automazione che richiedono un'implementazione completamente personalizzata.