Condividi tramite


Panoramica dei pattern di controllo dell'automazione dell'interfaccia utente

Annotazioni

Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.

Questa panoramica presenta i modelli di controllo di Automazione interfaccia utente di Microsoft. I pattern di controllo consentono di classificare ed esporre la funzionalità di un controllo indipendentemente dal tipo di controllo o dall'aspetto del controllo.

Automazione interfaccia utente usa pattern di controllo per rappresentare comportamenti di controllo comuni. Ad esempio, si usa il pattern di controllo Invoke per i controlli che possono essere richiamati (ad esempio pulsanti) e il pattern di controllo Scroll per i controlli con barre di scorrimento (ad esempio caselle di riepilogo, visualizzazioni elenco o caselle combinate). Poiché ogni pattern di controllo rappresenta una funzionalità separata, può essere combinata per descrivere il set completo di funzionalità supportate da un particolare controllo.

Annotazioni

I controlli aggregati, compilati con controlli figlio che forniscono l'interfaccia utente (UI) per le funzionalità esposte dall'elemento padre, devono implementare tutti i pattern di controllo normalmente associati a ogni controllo figlio. A sua volta, gli stessi pattern di controllo non devono essere implementati dai controlli figlio.

Componenti del pattern di controllo di automazione dell'interfaccia utente

I pattern di controllo supportano metodi, proprietà, eventi e relazioni necessari per definire una parte discreta di funzionalità disponibile in un controllo.

  • La relazione tra un elemento di automazione dell'interfaccia utente e i suoi elementi padre, figli e fratelli descrive la struttura dell'elemento all'interno dell'albero dell'automazione dell'interfaccia utente.

  • I metodi consentono ai client di automazione interfaccia utente di modificare il controllo.

  • Le proprietà e gli eventi forniscono informazioni sulla funzionalità del pattern di controllo, nonché informazioni sullo stato del controllo.

I pattern di controllo sono correlati all'interfaccia utente come interfacce correlate agli oggetti COM (Component Object Model). In COM è possibile eseguire una query su un oggetto per chiedere quali interfacce supporta e quindi usare tali interfacce per accedere alle funzionalità. In Automazione interfaccia utente i client di automazione interfaccia utente possono chiedere a un controllo quali pattern di controllo supporta e quindi interagire con il controllo tramite le proprietà, i metodi, gli eventi e le strutture esposte dai pattern di controllo supportati. Ad esempio, per una casella di modifica su più righe, i provider di automazione interfaccia utente implementano IScrollProvider. Quando un client sa che AutomationElement supporta il ScrollPattern pattern di controllo, può utilizzare le proprietà, i metodi e gli eventi esposti da tale pattern di controllo per modificare il controllo o accedere alle informazioni sul controllo.

I provider e i client dell'automazione dell'interfaccia utente

I provider di automazione interfaccia utente implementano i pattern di controllo per esporre il comportamento appropriato per una parte specifica di funzionalità supportata dal controllo.

I client di automazione interfaccia utente accedono a metodi e proprietà delle classi del pattern di controllo di automazione interfaccia utente e li usano per ottenere informazioni sull'interfaccia utente o per modificare l'interfaccia utente. Queste classi dei pattern di controllo si trovano nello spazio dei nomi System.Windows.Automation (ad esempio, InvokePattern e SelectionPattern).

I client usano AutomationElement metodi (ad esempio AutomationElement.GetCurrentPropertyValue o AutomationElement.GetCachedPropertyValue) o le funzioni di accesso CLR (Common Language Runtime) per accedere alle proprietà di automazione interfaccia utente in un modello. Ogni classe del pattern di controllo ha un membro del campo (ad esempio, InvokePattern.Pattern o SelectionPattern.Pattern) che identifica tale pattern di controllo e può essere passato come parametro a GetCachedPattern o GetCurrentPattern per recuperare tale modello per un oggetto AutomationElement.

Modelli di controllo dinamici

Alcuni controlli non supportano sempre lo stesso set di pattern di controllo. I pattern di controllo vengono considerati supportati quando sono disponibili per un client di automazione interfaccia utente. Ad esempio, una casella di modifica su più righe consente lo scorrimento verticale solo quando contiene più righe di testo di quanto possa essere visualizzato nell'area visualizzabile. Lo scorrimento è disabilitato quando viene rimosso testo sufficiente in modo che lo scorrimento non sia più necessario. Per questo esempio, il pattern di controllo ScrollPattern è supportato dinamicamente a seconda dello stato corrente del controllo (la quantità di testo presente nella casella di modifica).

Classi e interfacce del pattern di controllo

La tabella seguente descrive i modelli di controllo di automazione interfaccia utente. La tabella elenca anche le classi usate dai client di automazione interfaccia utente per accedere ai pattern di controllo, nonché le interfacce usate dai provider di automazione interfaccia utente per implementarle.

Classe di Pattern di Controllo Interfaccia del provider Descrizione
DockPattern IDockProvider Usato per i controlli che possono essere ancorati in un contenitore di ancoraggio. Ad esempio, barre degli strumenti o tavolozze degli strumenti.
ExpandCollapsePattern IExpandCollapseProvider Utilizzato per i controlli che possono essere espansi o compressi. Ad esempio, le voci di menu in un'applicazione, ad esempio il menu File .
GridPattern IGridProvider Usato per i controlli che supportano la funzionalità della griglia, ad esempio il ridimensionamento e lo spostamento in una cella specificata. Ad esempio, la vista icona grande in Esplora risorse, o tabelle semplici senza intestazioni in Microsoft Word.
GridItemPattern IGridItemProvider Usato per i controlli con celle all'interno delle griglie. Le singole celle devono supportare il modello GridItem. Ad esempio, ogni cella nella visualizzazione dettagliata di Microsoft Windows Explorer.
InvokePattern IInvokeProvider Usato per i controlli che possono essere richiamati, ad esempio un pulsante.
MultipleViewPattern IMultipleViewProvider Usato per i controlli che possono passare tra varie rappresentazioni dello stesso set di informazioni, dati o sottoelementi. Ad esempio, un controllo visualizzazione elenco in cui i dati sono disponibili nelle visualizzazioni miniatura, riquadro, icona, elenco o dettagli.
RangeValuePattern 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 2010, mentre un altro controllo spinner per i mesi avrebbe un intervallo compreso tra 1 e 12.
ScrollPattern 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.
ScrollItemPattern 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.
SelectionPattern ISelectionProvider Usato per i controlli contenitore di selezione. Ad esempio, caselle di riepilogo e caselle combinate.
SelectionItemPattern ISelectionItemProvider Utilizzato per elementi singoli nei controlli di selezione del contenitore, come le caselle di riepilogo e le caselle combinate.
TablePattern ITableProvider Usato per i controlli con una griglia e informazioni sull'intestazione. Ad esempio, fogli di lavoro di Microsoft Excel.
TableItemPattern ITableItemProvider Utilizzato per gli elementi di una tabella.
TextPattern ITextProvider Utilizzato per modificare controlli e documenti che espongono informazioni testuali.
TogglePattern IToggleProvider Utilizzato per i controlli in cui lo stato può essere commutato. Ad esempio, caselle di controllo e voci di menu selezionabili.
TransformPattern 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.
ValuePattern IValueProvider Consente ai client di ottenere o impostare un valore nei controlli che non supportano un intervallo di valori. Ad esempio, un selezionatore di data e ora.
WindowPattern IWindowProvider Espone le informazioni specifiche delle finestre, un concetto fondamentale per il sistema operativo Microsoft Windows. Esempi di controlli che sono finestre applicative del livello superiore (Microsoft Word, Microsoft Windows Explorer e così via), finestre figlio dell'interfaccia a più documenti (MDI) e finestre di dialogo.

Vedere anche