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 | Sì | 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.
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.