Supporto per automazione interfaccia utente del tipo di controllo DataItem

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.

Questo argomento fornisce informazioni sul supporto per Automazione interfaccia utente Microsoft per il tipo di controllo DataItem. In Automazione interfaccia utente un tipo di controllo è un insieme di condizioni che un controllo deve soddisfare per poter utilizzare la proprietà ControlTypeProperty. 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 criteri di controllo.

Una voce in un elenco Contatti, ad esempio, è un controllo elemento dati. Un controllo elemento dati contiene informazioni di interesse per un utente finale. È più complicato del semplice elemento elenco poiché contiene informazioni più dettagliate.

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

Struttura ad albero di automazione interfaccia utente obbligatoria

La tabella seguente illustra la vista controllo e la vista contenuto dell'albero di Automazione interfaccia utente che riguarda i controlli elemento dati e descrive cosa può essere contenuto in ogni vista. Per maggiori informazioni sull'albero di Automazione interfaccia utente, vedere Panoramica dell’albero di Automazione interfaccia utente.

Albero di Automazione interfaccia utente - Vista controllo Albero di Automazione interfaccia utente - Vista contenuto
DataItem

- Varia (0 o più, può essere strutturato in una gerarchia)
DataItem

- Varia (0 o più, può essere strutturato in una gerarchia)

Un elemento dati in una griglia di dati può contenere vari tipi di oggetti, incluso un altro livello di elementi dati o specifici elementi di griglia quali testo, immagini o controlli di modifica. Se l'elemento dati dispone di un ruolo di oggetto specifico, l'elemento deve essere esposto come tipo di controllo specifico; ad esempio, un tipo di controllo ListItem per un elemento dati selezionabile della griglia.

Proprietà di automazione interfaccia utente obbligatorie

La tabella seguente elenca le proprietà il cui valore o la cui definizione è particolarmente rilevante per i controlli elemento dati. Per maggiori 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 in un'applicazione.
BoundingRectangleProperty Vedere le note. Il rettangolo più esterno che contiene l'intero controllo.
ClickablePointProperty Vedere le note. Supportata se è presente un rettangolo di delimitazione. Se non tutti i punti all'interno del rettangolo di delimitazione sono selezionabili ed è stato eseguito un processo di hit testing specializzato, eseguire l'override e implementare un punto selezionabile.
ControlTypeProperty DataItem Questo valore è uguale per tutti i framework dell'interfaccia utente.
IsContentElementProperty Vero Il controllo elemento dati deve essere sempre un contenuto.
IsControlElementProperty Vero Il controllo elemento dati deve essere sempre un controllo.
IsKeyboardFocusableProperty Vedere le note. Se il controllo può ricevere lo stato attivo, deve supportare questa proprietà.
ItemStatusProperty Vedere le note. Se il controllo contiene uno stato aggiornato dinamicamente, è necessario che questa proprietà sia supportata in modo da consentire ai prodotti di assistive technology di ricevere aggiornamenti quando lo stato dell'elemento cambia.
ItemTypeProperty Vedere le note. Si tratta del valore della stringa che indica all'utente finale l'oggetto sottostante rappresentato dall'elemento, ad esempio "File multimediale" o "Contatto".
LabeledByProperty Null I controlli elemento dati non hanno un'etichetta di testo statico.
LocalizedControlTypeProperty "elemento dati" Stringa localizzata corrispondente al tipo di controllo DataItem.
NameProperty Vedere le note. Il controllo elemento dati contiene sempre un elemento di testo primario correlato all'identificatore semantico che un utente assocerebbe all'elemento.

Pattern di controllo obbligatori per l'automazione interfaccia utente

La seguente tabella elenca i criteri di controllo di Automazione interfaccia utente Microsoft che devono essere supportati da tutti i controlli elemento dati. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.

Pattern di controllo Supporto tecnico Note
IExpandCollapseProvider Dipende da Se è possibile espandere o comprimere l'elemento dati per visualizzare e nascondere informazioni, è necessario il supporto del pattern Expand Collapse.
IGridItemProvider Dipende da Gli elementi dati supportano il pattern GridItem quando un insieme di elementi dati è disponibile in un contenitore in cui è possibile spostarsi elemento per elemento.
IScrollItemProvider Dipende da Tutti gli elementi dati supportano la possibilità di scorrimento nella visualizzazione con il pattern ScrollItem quando il relativo contenitore dei dati ha più elementi adattabili allo schermo.
ISelectionItemProvider Tutti gli elementi dati devono supportare il pattern SelectionItem per indicare quando l'elemento è selezionato.
ITableItemProvider Dipende da Se l'elemento dati è contenuto in un tipo di controllo DataGrid, supporta questo pattern.
IToggleProvider Dipende da Se l'elemento dati contiene uno stato che può essere alternato ciclicamente.
IValueProvider Dipende da Se il testo primario dell'elemento dati è modificabile, il pattern Value deve essere supportato.

Uso di elementi dati in elenchi di grandi dimensioni

Gli elenchi di grandi dimensioni sono spesso virtualizzati nei framework dell’interfaccia utente per migliorare le prestazioni. Per questo motivo, un client di automazione interfaccia utente non può usare la funzionalità di query per cercare il contenuto dell'intero albero come avviene per altri contenitori di elementi. È necessario che un client scorra la visualizzazione dell'elemento (o che espanda il controllo in modo che vengano visualizzate tutte le opzioni rilevanti) prima di accedere al set completo di informazioni dell'elemento dati.

Quando si chiama SetFocus sull'elemento di automazione interfaccia utente per l'elemento dati, il caso Esplora risorse di Microsoft Windows sarà restituito correttamente e lo stato attivo verrà impostato su Modifica all'interno del sottoalbero dell'elemento di dati.

Eventi di automazione interfaccia utente obbligatori

La seguente tabella elenca gli eventi di Automazione interfaccia utente che devono essere supportati da tutti i controlli elemento dati. Per altre informazioni sugli eventi, vedere UI Automation Events Overview.

Evento di Automazione interfaccia utente Supporto tecnico Note
AutomationFocusChangedEvent Richiesto None
Evento di modifica della proprietàBoundingRectangleProperty . Richiesto None
Evento di modifica della proprietàIsEnabledProperty . Richiesto None
Evento di modifica della proprietàIsOffscreenProperty . Richiesto None
Evento di modifica della proprietàNameProperty . Richiesto None
StructureChangedEvent Richiesto None
InvokedEvent Dipende da None
Evento di modifica della proprietàExpandCollapseStateProperty . Dipende da None
ElementAddedToSelectionEvent Richiesto None
ElementRemovedFromSelectionEvent Richiesto None
ElementSelectedEvent Richiesto None
Evento di modifica della proprietàToggleStateProperty . Dipende da None
Evento di modifica della proprietàValueProperty . Dipende da None

Esempio del tipo di controllo DataItem

Nell'immagine seguente viene illustrato un tipo di controllo DataItem in un controllo ListView che fornisce supporto per le informazioni dettagliate all'interno delle colonne.

Graphic of a List View control with two data items

La vista controlli e la vista contenuto dell'albero di Automazione interfaccia utente relative al controllo elemento dati sono visualizzate di seguito. I pattern di controllo per ogni elemento di automazione sono indicati tra parentesi. Il gruppo "Contoso" fa inoltre parte della griglia del controllo host DataGrid.

Albero di Automazione interfaccia utente - Vista controllo Albero di Automazione interfaccia utente - Vista contenuto
- Gruppo "Contoso" (Table, Grid)
- DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- Immagine "Accounts Receivable.doc"
- Modifica "Nome" (TableItem, GridItem, Value "Accounts Receivable.doc")
- Modifica "Data modificata" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
- Modifica "Dimensioni" (GridItem, TableItem, Value "11.0 KB)
- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- ...
- Gruppo "Contoso" (Table, Grid)
- DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- Immagine "Accounts Receivable.doc"
- Modifica "Nome" (TableItem, GridItem, Value "Accounts Receivable.doc")
- Modifica "Data modificata" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
- Modifica "Dimensioni" (GridItem, TableItem, Value "11.0 KB)
- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- …

Se una griglia rappresenta un elenco di elementi selezionabili, è possibile esporre gli elementi dell'interfaccia utente corrispondenti con il tipo di controllo ListItem anziché con 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, poiché questo tipo già supporta il pattern di controllo SelectionItem.

Vedi anche