Cenni preliminari sulla struttura ad albero di automazione dell'interfaccia utente
Nota |
---|
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). |
Prodotti tecnologici di assistenza e script di test esplorano la struttura ad albero di UI Automation per raccogliere informazioni sull'user interface (UI) e i relativi elementi.
Nella struttura ad albero di UI Automation è presente un elemento radice (RootElement) che rappresenta il desktop corrente e i cui elementi figlio rappresentano le finestre dell'applicazione. Ogni elemento figlio può contenere elementi che rappresentano parti dell'UI, ad esempio menu, pulsanti, barre degli strumenti e caselle di riepilogo. Tali elementi, a loro volta, possono contenere altri elementi, ad esempio voci di elenco.
La struttura ad albero di UI Automation non è una struttura fissa e viene visualizzata raramente in modo completo perché potrebbe contenere migliaia di elementi. Parti della struttura vengono compilate in base alle esigenze e la struttura può subire modifiche man mano che vengono aggiunti, spostati o rimossi elementi.
I provider di automazione interfaccia utente supportano la struttura ad albero di UI Automation mediante l'implementazione dello spostamento tra gli elementi all'interno di un frammento, costituito da una radice (generalmente ospitata in una finestra) e un sottoalbero. I provider, tuttavia, non sono interessati dallo spostamento da un controllo a un altro. Questa operazione è gestita dagli elementi di base di UI Automation, mediante informazioni fornite dai provider di finestra predefiniti.
Nel presente argomento sono contenute le seguenti sezioni.
- Visualizzazioni della struttura ad albero di automazione
- Argomenti correlati
Visualizzazioni della struttura ad albero di automazione
La struttura ad albero di UI Automation può essere filtrata per creare visualizzazioni che contengono solo gli oggetti AutomationElement rilevanti per un determinato client. Questo approccio consente ai client di personalizzare la struttura presentata tramite UI Automation in base a esigenze specifiche.
Il client consente di personalizzare la visualizzazione in due modi: tramite ambito e tramite filtro. L'ambito consiste nel definire l'estensione della visualizzazione, a partire da un elemento di base. Ad esempio, è possibile che l'applicazione cerchi solo i figli diretti del desktop o tutti i discendenti di una finestra dell'applicazione. Il filtro consiste nel definire i tipi di elementi da includere nella visualizzazione.
I provider di automazione interfaccia utente supportano i filtri mediante la definizione di proprietà sugli elementi, incluse le proprietà IsControlElementProperty e IsContentElementProperty.
UI Automation offre tre visualizzazioni predefinite, che sono definite dal tipo di filtro eseguito. L'ambito di qualsiasi visualizzazione è definito dall'applicazione. Inoltre, è possibile applicare altri filtri sulle proprietà tramite l'applicazione, ad esempio per includere solo i controlli abilitati in una visualizzazione controlli.
Visualizzazione non elaborata
La visualizzazione non elaborata della struttura ad albero di UI Automation è la struttura ad albero completa degli oggetti AutomationElement di cui il desktop è la radice. La visualizzazione non elaborata riproduce la struttura a livello di codice nativa di un'applicazione ed è pertanto la visualizzazione più dettagliata disponibile. Costituisce inoltre la base sulla quale vengono compilate le altre visualizzazioni della struttura ad albero. Poiché questa visualizzazione dipende dal framework di UI sottostante, la visualizzazione non elaborata di un pulsante WPF avrà una visualizzazione non elaborata diversa da un pulsante Win32.
La visualizzazione non elaborata si ottiene cercando elementi senza specificare proprietà o utilizzando RawViewWalker per esplorare la struttura ad albero.
Visualizzazione controlli
Le attività di descrizione dell'UI e di assistenza all'utente finale nell'interazione con l'applicazione eseguite dal prodotto tecnologico di assistenza vengono semplificate dalla visualizzazione controlli della struttura ad albero di UI Automation che mappa la struttura dell'UI percepita da un utente finale.
La visualizzazione controlli è un sottoinsieme della visualizzazione non elaborata. Include tutti gli elementi dell'UI della visualizzazione non elaborata che un utente finale potrebbe considerare interattivi o inerenti la struttura logica del controllo nell'UI. Sono esempi di elementi dell'UI che contribuiscono alla struttura logica dell'UI, senza essere interattivi, i contenitori dell'elemento quali le intestazioni della visualizzazione elenco, le barre degli strumenti, i menu e la barra di stato. Gli elementi non interattivi utilizzati semplicemente a scopi di layout o decorativi non saranno presenti nella visualizzazione controlli. Ne è un esempio un pannello utilizzato solo per il layout di controlli in una finestra di dialogo che non contiene alcuna informazione. Gli elementi non interattivi presenti nella visualizzazione controlli sono grafici con informazioni e testo statico in una finestra di dialogo. Gli elementi non interattivi inclusi nella visualizzazione controlli non possono ricevere lo stato attivo della tastiera.
La visualizzazione controlli si ottiene cercando elementi con la proprietà IsControlElement impostata su true o utilizzando ControlViewWalker per esplorare la struttura ad albero.
Visualizzazione contenuto
La visualizzazione contenuto della struttura ad albero di UI Automation è un sottoinsieme della visualizzazione controlli. Contiene gli elementi dell'UI che contengono le informazioni effettive in un'interfaccia utente, inclusi gli elementi dell'UI che possono ricevere lo stato attivo della tastiera e il testo che non è un'etichetta in un elemento dell'UI. Ad esempio, i valori in una casella combinata a discesa saranno presenti nella visualizzazione contenuto poiché rappresentano le informazioni utilizzate da un utente finale. Nella visualizzazione contenuto, una casella combinata e una casella di riepilogo sono entrambe rappresentate come insieme di elementi dell'UI in cui è possibile selezionare uno o più elementi. Il fatto che un elemento sia sempre aperto e un altro possa essere espanso o compresso è irrilevante nella visualizzazione contenuto che è progettata per mostrare i dati, o il contenuto, presentato all'utente.
La visualizzazione contenuto si ottiene cercando elementi con la proprietà IsContentElement impostata su true o utilizzando ContentViewWalker per esplorare la struttura ad albero.