Cenni preliminari sui pattern di controllo per l'automazione interfaccia utente

Nota

Questa documentazione è destinata agli sviluppatori .NET Framework che desiderano utilizzare le classi di Automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per informazioni aggiornate su Automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.

Questa panoramica presenta i criteri di controllo di Automazione interfaccia utente di Microsoft. I pattern di controllo rappresentano un metodo di classificazione ed esposizione della funzionalità di un controllo indipendentemente dal tipo o dall'aspetto del controllo stesso.

Automazione interfaccia utente usa i pattern di controllo per rappresentare i comportamenti comuni dei controlli. Usare il pattern di controllo Invoke per i controlli che possono essere richiamati (ad esempio, i pulsanti) e il pattern di controllo Scroll per i controlli con barre di scorrimento (ad esempio le caselle di riepilogo, le visualizzazioni elenco o le caselle combinate). Poiché ogni pattern di controllo rappresenta una funzionalità distinta, possono essere combinati per descrivere il set completo di funzionalità supportate da un determinato controllo.

Nota

I controlli aggregati, compilati con i controlli figlio che forniscono l’interfaccia utente per la funzionalità esposta dai controlli padre, devono implementare tutti i criteri di controllo normalmente associati a ogni controllo figlio. Per contro questi stessi modelli di controllo non devono essere implementati dai controlli figlio.

Componenti del pattern di controllo di automazione interfaccia utente

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

  • La relazione tra un elemento di automazione interfaccia utente e i relativi elementi padre, figlio e di pari livello descrive la struttura dell'elemento all'interno dell'albero di Automazione interfaccia utente.

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

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

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

Provider e client di automazione interfaccia utente

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

I client di Automazione interfaccia utente accedono ai metodi e alle proprietà delle classi del criterio di controllo di Automazione interfaccia utente e li usano per ottenere informazioni sull'interfaccia utente o per modificarla. Queste classi di pattern di controllo sono disponibili nello spazio dei nomi System.Windows.Automation , ad esempio InvokePattern e SelectionPattern.

I client usano i metodi AutomationElement (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 criterio. Ogni classe del criterio di controllo ha un membro di campo (ad esempio InvokePattern.Pattern o SelectionPattern.Pattern) che identifica tale criterio di controllo e può essere passato come parametro a GetCachedPattern o a GetCurrentPattern per recuperare questo criterio per una AutomationElement.

Pattern 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 multiriga supporta lo scorrimento verticale solo quando contiene più righe di testo che possono essere visualizzate nella relativa area visualizzabile. Lo scorrimento è disabilitato quando viene rimossa una quantità di testo sufficiente da rendere superfluo lo scorrimento. Per questo esempio, il pattern di controllo ScrollPattern è supportato in modo dinamico a seconda dello stato corrente del controllo, ovvero in base alla quantità di testo contenuta nella casella di modifica.

Classi e interfacce dei pattern di controllo

La tabella seguente descrive i criteri di controllo di Automazione interfaccia utente. Sono inoltre elencate 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 implementarli.

Classe del pattern di controllo Interfaccia del provider Descrizione
DockPattern IDockProvider Usata per i controlli che possono essere ancorati in un contenitore di ancoraggio, ad esempio barre degli strumenti o caselle di strumenti.
ExpandCollapsePattern IExpandCollapseProvider Usata per i controlli che possono essere espansi o compressi, ad esempio voci di menu in un'applicazione, come il menu File .
GridPattern IGridProvider Usata per i controlli che supportano la funzionalità di griglia, come il ridimensionamento e spostamento in una cella specificata, Ad esempio la visualizzazione Icone grandi in Esplora risorse o le tabelle semplici senza intestazioni in Microsoft Word.
GridItemPattern IGridItemProvider Usata per i controlli contenenti celle all'interno di griglie. Le singole celle devono supportare il pattern GridItem. Ad esempio, ogni cella nella vista dettagli di Microsoft Windows Explorer.
InvokePattern IInvokeProvider Usata per i controlli che possono essere richiamati, ad esempio un pulsante.
MultipleViewPattern IMultipleViewProvider Usata per i controlli che possono passare tra più rappresentazioni dello stesso set di informazioni, dati o elementi figlio. Ad esempio, un controllo visualizzazione elenco in cui i dati sono disponibili nelle visualizzazioni anteprima, affiancata, icona, elenco o dettagliata.
RangeValuePattern IRangeValueProvider Usata per i controlli contenenti un intervallo di valori che possono essere applicati al controllo. Ad esempio, un controllo casella di selezione contenente gli anni potrebbe avere un intervallo di valori da 1900 a 2010, mentre un altro controllo casella di selezione contenente i mesi può avere un intervallo di valori da 1 a 12.
ScrollPattern IScrollProvider Usata per i controlli che supportano lo scorrimento, ad esempio un controllo con barre di scorrimento attive quando sono presenti altre informazioni che possono essere visualizzate nell'area visualizzabile del controllo.
ScrollItemPattern IScrollItemProvider Usata per i controlli contenenti elementi in un elenco che supporta lo scorrimento, ad esempio un elenco contenente singoli elementi nell'elenco a scorrimento, ad esempio un controllo casella combinata.
SelectionPattern ISelectionProvider Usata per i controlli contenitore di selezione, ad esempio caselle di riepilogo e caselle combinate.
SelectionItemPattern ISelectionItemProvider Usata per i singoli elementi nei controlli contenitore di selezione, ad esempio caselle di riepilogo e caselle combinate.
TablePattern ITableProvider Usata per i controlli che dispongono di una griglia e di informazioni di intestazione, Ad esempio, i fogli di lavoro di Microsoft Excel.
TableItemPattern ITableItemProvider Usata per gli elementi in una tabella.
TextPattern ITextProvider Usata per i controlli di modifica e i documenti che espongono informazioni testuali.
TogglePattern IToggleProvider Usata per i controlli in cui è possibile passare alternativamente tra stati, ad esempio caselle di controllo e voci di menu selezionabili.
TransformPattern ITransformProvider Usata per i controlli che è possibile ridimensionare, spostare e ruotare. Il pattern di controllo Transform viene in genere usato in finestre di progettazione, moduli, editor grafici e applicazioni di disegno.
ValuePattern IValueProvider Consente ai client di ottenere o impostare un valore per i controlli che non supportano un intervallo di valori, ad esempio, un controllo di selezione di data e ora.
WindowPattern IWindowProvider Espone informazioni specifiche in finestre, un concetto fondamentale per il sistema operativo Microsoft Windows. Esempi di controlli a finestre sono le finestre delle applicazioni di primo livello (Microsoft Word, Microsoft Windows Explorer e così via), le finestre figlio di interfaccia a documenti multipli (MDI) e le finestre di dialogo.

Vedi anche