Condividi tramite


Supporto dell'interfaccia utente di automazione per il tipo di elemento di controllo DataItem

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.

In questo argomento vengono fornite informazioni sul supporto di Automazione interfaccia utente Microsoft per il tipo di controllo DataItem. In Automazione interfaccia utente un tipo di controllo è un set di condizioni che un controllo deve soddisfare per usare la ControlTypeProperty proprietà . Le condizioni includono linee guida specifiche per la struttura ad albero di automazione interfaccia utente, i valori delle proprietà di automazione interfaccia utente e i pattern di controllo.

Una voce in un elenco Contatti è un esempio di controllo elemento di dati. Un controllo elemento dati contiene informazioni di interesse per un utente finale. È più complicato rispetto all'elemento di elenco semplice perché contiene informazioni più complete.

Le sezioni seguenti definiscono la struttura ad albero di automazione interfaccia utente, le proprietà, i pattern di controllo e gli eventi necessari per il tipo di controllo DataItem. I requisiti di automazione interfaccia utente si applicano a tutti i controlli degli elementi di dati, ovvero Windows Presentation Foundation (WPF), Win32 o Windows Form.

Struttura ad albero necessaria per l'automazione UI

La tabella seguente illustra la visualizzazione controlli e la visualizzazione contenuto dell'albero di automazione interfaccia utente relativa ai controlli degli elementi di dati e descrive cosa può essere contenuto in ogni visualizzazione. Per altre informazioni sull'albero di automazione interfaccia utente, vedere ui Automation Tree Overview.

Albero di automazione interfaccia utente - Visualizzazione controllo Albero di automazione interfaccia utente - Visualizzazione contenuto
DataItem

- Varia (0 o più; può essere strutturato nella gerarchia)
DataItem

- Varia (0 o più; può essere strutturato nella gerarchia)

Un elemento elemento di dati in una griglia di dati può ospitare un'ampia gamma di oggetti, tra cui un altro livello di elementi di dati o elementi della griglia specifici, ad esempio testo, immagini o controlli di modifica. Se l'elemento dell'elemento dati ha un ruolo oggetto specifico, l'elemento deve essere esposto come tipo di controllo specifico; Ad esempio, un tipo di controllo ListItem per un elemento di dati selezionabile nella griglia.

Proprietà di automazione interfaccia utente necessarie

Nella tabella seguente sono elencate le proprietà il cui valore o la cui definizione è particolarmente rilevante per i controlli degli elementi di dati. Per altre informazioni sulle proprietà di automazione interfaccia utente, vedere Proprietà di automazione interfaccia utente per i client.

Proprietà Valore Note
AutomationIdProperty Vedere le note. Il valore di questa proprietà deve essere univoco in tutti i controlli di un'applicazione.
BoundingRectangleProperty Vedere le note. Rettangolo più esterno che contiene l'intero controllo.
ClickablePointProperty Vedere le note. Supportato se è presente un rettangolo di delimitazione. Se non tutti i punti all'interno del rettangolo di delimitazione sono selezionabili e si eseguono hit testing specializzati, eseguire l'override e fornire un punto selezionabile.
ControlTypeProperty DataItem Questo valore è lo stesso per tutti i framework dell'interfaccia utente.
IsContentElementProperty Vero Il controllo elemento di dati deve essere sempre contenuto.
IsControlElementProperty Vero Il controllo elemento di dati deve essere sempre un controllo .
IsKeyboardFocusableProperty Vedere le note. Se il controllo può ricevere lo stato attivo della tastiera, deve supportare questa proprietà.
ItemStatusProperty Vedere le note. Se il controllo contiene lo stato che viene aggiornato in modo dinamico, questa proprietà deve essere supportata in modo che una tecnologia assistive possa ricevere aggiornamenti quando lo stato dell'elemento cambia.
ItemTypeProperty Vedere le note. Si tratta del valore stringa che comunica all'utente finale l'oggetto sottostante rappresentato dall'elemento. Esempi sono "File multimediale" o "Contatto".
LabeledByProperty Null I controlli elemento dati non hanno un'etichetta di testo statica.
LocalizedControlTypeProperty "elemento dati" Stringa localizzata corrispondente al tipo di controllo DataItem.
NameProperty Vedere le note. Il controllo elemento di dati contiene sempre un elemento di testo primario correlato a ciò che l'utente assocerebbe come identificatore semantico per l'elemento.

Modelli di controllo di automazione interfaccia utente necessari

La tabella seguente elenca i modelli di controllo di Automazione interfaccia utente Microsoft necessari per essere supportati da tutti i controlli degli elementi di dati. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.

Pattern di controllo Assistenza Note
IExpandCollapseProvider Dipende da Se l'elemento dati può essere espanso o compresso per visualizzare e nascondere le informazioni, è necessario supportare il modello Espandi comprimi.
IGridItemProvider Dipende da Gli elementi di dati supporteranno il modello Grid Item quando una raccolta di elementi di dati è disponibile all'interno di un contenitore che può essere spostato nello spazio da elemento a elemento.
IScrollItemProvider Dipende da Tutti gli elementi di dati supportano la possibilità di scorrere nella visualizzazione con lo schema Scroll Item quando il contenitore di dati include più elementi che possono essere inseriti sullo schermo.
ISelectionItemProvider Tutti gli elementi di dati devono supportare il criterio Elemento di selezione per indicare quando l'elemento è selezionato.
ITableItemProvider Dipende da Se l'elemento di dati è contenuto all'interno di un tipo di controllo Griglia di dati, supporterà questo modello.
IToggleProvider Dipende da Se l'elemento di dati contiene uno stato che può scorrere.
IValueProvider Dipende da Se il testo primario dell'elemento dati è modificabile, è necessario supportare il modello Valore.

Utilizzo di elementi di dati in elenchi di grandi dimensioni

Gli elenchi di grandi dimensioni sono spesso dati virtualizzati all'interno dei framework dell'interfaccia utente per facilitare le prestazioni. Per questo motivo, un client di automazione dell'interfaccia utente non può utilizzare la funzionalità di query dell'automazione dell'interfaccia utente per estrarre il contenuto dell'albero completo nello stesso modo in cui può farlo in altri contenitori di elementi. Un client deve scorrere l'elemento nella visualizzazione (o espandere il controllo per visualizzare tutte le opzioni importanti) prima di accedere al set completo di informazioni dall'elemento dati.

Quando si chiama SetFocus sull'elemento di automazione dell'interfaccia utente per l'elemento di dati, il processo di Esplora risorse di Microsoft Windows verrà completato con successo e causerà l'impostazione del focus su Modifica all'interno del sottoalbero dell'elemento di dati.

Eventi di automazione interfaccia utente necessari

La tabella seguente elenca gli eventi di automazione interfaccia utente necessari per essere supportati da tutti i controlli degli elementi di dati. Per ulteriori informazioni sugli eventi, vedere UI Automation Events Overview.

Evento di automazione interfaccia utente Assistenza Note
AutomationFocusChangedEvent Obbligatorio Nessuno
Evento di cambiamento della proprietà BoundingRectangleProperty. Obbligatorio Nessuno
Evento di cambiamento della proprietà IsEnabledProperty. Obbligatorio Nessuno
Evento di cambiamento della proprietà IsOffscreenProperty. Obbligatorio Nessuno
Evento di cambiamento della proprietà NameProperty. Obbligatorio Nessuno
StructureChangedEvent Obbligatorio Nessuno
InvokedEvent Dipende da Nessuno
Evento di cambiamento della proprietà ExpandCollapseStateProperty. Dipende da Nessuno
ElementAddedToSelectionEvent Obbligatorio Nessuno
ElementRemovedFromSelectionEvent Obbligatorio Nessuno
ElementSelectedEvent Obbligatorio Nessuno
Evento di cambiamento della proprietà ToggleStateProperty. Dipende da Nessuno
Evento di cambiamento della proprietà ValueProperty. Dipende da Nessuno

Esempio di tipo di controllo DataItem

L'immagine seguente illustra un tipo di controllo DataItem in un controllo Visualizzazione elenco con supporto per informazioni dettagliate per le colonne.

Immagine di un controllo Visualizzazione elenco con due elementi di dati

La Visualizzazione Controllo e la Visualizzazione Contenuto dell'albero di Automazione UI relativo al controllo dell'elemento dati sono mostrati di seguito. I pattern di controllo per ogni elemento di automazione vengono visualizzati tra parentesi. Il gruppo "Contoso" fa anche parte della griglia del controllo host di Griglia di dati.

Albero di automazione interfaccia utente - Visualizzazione controllo Albero di automazione interfaccia utente - Visualizzazione contenuto
- Gruppo "Contoso" (tabella, griglia)
- ElementoDati "Contabilità clienti.doc" (ElementoTabella, ElementoGriglia, ElementoSelezione, Invocazione)
- Immagine "I Conti Ricevibili.doc"
- Modifica "Nome" (Elemento tabella, Elemento griglia, Valore "Accounts Receivable.doc")
- Modifica "Data modificata" (TableItem, GridItem, Valore "25/8/2006 3:29 PM")
- Modifica "Dimensione" (GridItem, TableItem, Valore "11,0 KB)
- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- ...
- Gruppo "Contoso" (tabella, griglia)
- ElementoDati "Contabilità clienti.doc" (ElementoTabella, ElementoGriglia, ElementoSelezione, Invocazione)
- Immagine "I Conti Ricevibili.doc"
- Modifica "Nome" (Elemento tabella, Elemento griglia, Valore "Accounts Receivable.doc")
- Modifica "Data modificata" (TableItem, GridItem, Valore "25/8/2006 3:29 PM")
- Modifica "Dimensione" (GridItem, TableItem, Valore "11,0 KB)
- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- …

Se una griglia rappresenta un elenco di elementi selezionabili, gli elementi dell'interfaccia utente corrispondenti possono essere esposti con il tipo di controllo ListItem anziché con il tipo di controllo DataItem. Nell'esempio precedente, gli elementi DataItem ("Accounts Receivable.doc" e "Accounts Payable.doc") in Group ("Contoso") possono essere migliorati esponendoli come tipi di controllo ListItem perché tale tipo supporta già il pattern di controllo SelectionItem.

Vedere anche