Condividi tramite


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

NotaNota

La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese).

In questo argomento viene presentata un'introduzione ai pattern di controllo di Microsoft UI Automation. I pattern di controllo consentono di suddividere in categorie ed esporre le funzionalità di un controllo indipendentemente dal tipo o dall'aspetto del controllo stesso.

In UI Automation i pattern di controllo vengono utilizzati per rappresentare i comportamenti comuni dei controlli. Ad esempio, il pattern di controllo Invoke viene utilizzato che i controlli che è possibile richiamare, quali i pulsanti, mentre il pattern di controllo Scroll per i controlli che includono barre di scorrimento, quali caselle di riepilogo, visualizzazioni elenco o caselle combinate. Poiché ogni pattern di controllo rappresenta una funzionalità distinta, è possibile combinarli per descrivere l'insieme completo di funzionalità supportate da un determinato controllo.

NotaNota

I controlli di aggregazione, ossia compilati con controlli figlio che forniscono a user interface (UI) le funzionalità esposte dal controllo padre, devono implementare tutti i pattern di controllo normalmente associati a ogni controllo figlio.I controlli figlio non devono invece necessariamente implementare questi pattern di controllo.

 

Nel presente argomento sono contenute le seguenti sezioni.

  • Componenti dei pattern di controllo per l'automazione interfaccia utente
  • Provider e client di automazione interfaccia utente
  • Pattern di controllo dinamici
  • Classi e interfacce dei pattern di controllo
  • Argomenti correlati

 

Componenti dei pattern di controllo per l'automazione interfaccia utente

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

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

  • 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é sullo stato del controllo.

Il rapporto tra pattern di controllo e UI è identico a quello tra interfacce e oggetti Component Object Model (COM). In COM è possibile eseguire una query su un oggetto per chiedere quali interfacce supporta e quindi utilizzare tali interfacce per accedere alle funzionalità. In UI Automation 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 esposti dai pattern di controllo supportati. Ad esempio, per una casella di modifica a più righe, i provider di automazione interfaccia utente implementano IScrollProvider. Quando un client riconosce che un oggetto AutomationElement supporta il pattern di controllo ScrollPattern, può utilizzare le proprietà, i metodi e gli eventi esposti da tale pattern di controllo per modificare il controllo o per accedere alle relative informazioni.

Provider e client di automazione interfaccia utente

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

I client di automazione interfaccia utente accedono ai metodi e alle proprietà delle classi di pattern di controllo di UI Automation e li utilizzano per ottenere informazioni sull'UI o per modificare l'UI. Queste classi di pattern di controllo sono disponibili nello spazio dei nomi System.Windows.Automation, ad esempio InvokePattern e SelectionPattern.

I client utilizzano i metodi AutomationElement, ad esempio AutomationElement.GetCurrentPropertyValue o AutomationElement.GetCachedPropertyValue, oppure le funzioni di accesso common language runtime (CLR) per accedere alle proprietà di UI Automation su un pattern. Ogni classe di pattern di controllo ha un membro di campo, ad esempio InvokePattern.Pattern o SelectionPattern.Pattern, che identifica tale pattern di controllo e può essere passato come parametro al metodo GetCachedPattern o GetCurrentPattern per recuperare questo pattern per un oggetto AutomationElement.

Pattern di controllo dinamici

Alcuni controlli non supportano sempre lo stesso insieme di pattern di controllo. I pattern di controllo sono considerati supportati quando sono disponibili per un client di automazione interfaccia utente. Ad esempio, una casella di modifica a più righe consente lo scorrimento verticale solo quando contiene un numero di righe di testo superiore a quelle che rientrano nella relativa area visualizzabile. Lo scorrimento viene disabilitato quando viene rimossa una quantità di testo sufficiente per renderlo non più necessario. Per questo esempio, il pattern di controllo ScrollPattern è supportato dinamicamente a seconda dello stato corrente del controllo, ossia della quantità di testo inclusa nella casella di modifica.

Classi e interfacce dei pattern di controllo

Nella tabella seguente vengono descritti i pattern di controllo di UI Automation. Sono inoltre elencate le classi utilizzate dai client di automazione interfaccia utente per accedere ai pattern di controllo, nonché le interfacce utilizzate dai provider di automazione interfaccia utente per implementarli.

Classi di pattern di controllo

Interfaccia provider

Descrizione

DockPattern

IDockProvider

Viene utilizzata per i controlli che possono essere ancorati in un contenitore di ancoraggio, ad esempio barre degli strumenti e caselle di strumenti.

ExpandCollapsePattern

IExpandCollapseProvider

Viene utilizzata per i controlli che è possibile espandere o comprimere, ad esempio voci di menu in un'applicazione, come il menu File.

GridPattern

IGridProvider

Viene utilizzata per i controlli che supportano funzionalità di griglia come il ridimensionamento e lo spostamento in una cella specificata, ad esempio la visualizzazione di icone grandi in Esplora risorse o le tabelle semplici senza intestazioni in Microsoft Word.

GridItemPattern

IGridItemProvider

Viene utilizzata per i controlli che includono celle all'interno di griglie. Le singole celle devono supportare il pattern GridItem, ad esempio ogni cella nella visualizzazione dettagli di Microsoft Windows Explorer.

InvokePattern

IInvokeProvider

Viene utilizzata per i controlli che è possibile richiamare, ad esempio un pulsante.

MultipleViewPattern

IMultipleViewProvider

Viene utilizzata per i controlli che possono passare tra più rappresentazioni dello stesso insieme di informazioni, dati o elementi figlio, ad esempio un controllo visualizzazione elenco in cui i dati sono disponibili nelle visualizzazioni anteprima, affiancata, icone, elenco o dettagli.

RangeValuePattern

IRangeValueProvider

Viene utilizzata per i controlli a cui è possibile applicare un intervallo di valori. Ad esempio, una casella di selezione contenente anni potrebbe avere un intervallo compreso tra 1900 e 2010, mentre un'altra contenente mesi un intervallo compreso tra 1 e 12.

ScrollPattern

IScrollProvider

Viene utilizzata per i controlli che possono scorrere, ad esempio un controllo le cui barre di scorrimento sono attive quando la quantità di informazioni è superiore a quella che rientra nella relativa area visualizzabile.

ScrollItemPattern

IScrollItemProvider

Viene utilizzata per i controlli che includono singoli elementi in un elenco di scorrimento, ad esempio un controllo elenco che include singoli elementi nell'elenco di scorrimento, quale una casella combinata.

SelectionPattern

ISelectionProvider

Viene utilizzata per i controlli contenitori di selezione, ad esempio caselle di riepilogo e caselle combinate.

SelectionItemPattern

ISelectionItemProvider

Viene utilizzata per i singoli elementi dei controlli contenitori di selezione, ad esempio caselle di riepilogo e caselle combinate.

TablePattern

ITableProvider

Viene utilizzata per i controlli che includono una griglia oltre a informazioni di intestazione, ad esempio i fogli di lavoro di Microsoft Excel.

TableItemPattern

ITableItemProvider

Viene utilizzata per gli elementi di una tabella.

TextPattern

ITextProvider

Viene utilizzata per i controlli di modifica e i documenti che espongono informazioni di testo.

TogglePattern

IToggleProvider

Viene utilizzata per i controlli il cui stato può essere attivato e disattivato, ad esempio caselle di controllo e voci di menu selezionabili.

TransformPattern

ITransformProvider

Viene utilizzata per i controlli che è possibile ridimensionare, spostare o ruotare. Il pattern di controllo Transform viene tipicamente utilizzato nelle finestre di progettazione, nei form, negli editor grafici e nelle applicazioni di disegno.

ValuePattern

IValueProvider

Consente ai client di ottenere o impostare un valore sui controlli che non supportano un intervallo di valori, ad esempio un controllo per la selezione di data e ora.

WindowPattern

IWindowProvider

Espone informazioni specifiche per le finestre, un concetto fondamentale per il sistema operativo Microsoft Windows. Esempi di controlli che corrispondono a finestre sono le finestre di applicazioni di primo livello (Microsoft Word, Microsoft Windows Explorer e così via), le finestre figlio multiple-document interface (MDI) e le finestre di dialogo.

Vedere anche

Concetti

Pattern di controllo di automazione interfaccia utente per i client

Mapping dei pattern di controllo per i client di automazione interfaccia utente

Cenni preliminari su automazione interfaccia utente

Proprietà di automazione interfaccia utente per i client

Eventi di automazione interfaccia utente per i client