Tipo di controllo DataGrid

In questo argomento vengono fornite informazioni sul supporto di Microsoft Automazione interfaccia utente per il tipo di controllo DataGrid.

Il tipo di controllo DataGrid consente a un utente di lavorare facilmente con elementi contenenti dati o elementi di automazione presentati in colonne o righe. I controlli griglia dati contengono righe di elementi e colonne di informazioni su tali elementi. Un controllo visualizzazione elenco in Esplora risorse di Windows Vista è un esempio che supporta il tipo di controllo DataGrid .

Le sezioni seguenti definiscono la struttura ad albero Automazione interfaccia utente, le proprietà, i pattern di controllo e gli eventi necessari per il tipo di controllo DataGrid. I requisiti Automazione interfaccia utente si applicano a tutti i controlli griglia di dati in cui il framework o la piattaforma dell'interfaccia utente si integra Automazione interfaccia utente supporto per i tipi di controllo e i pattern di controllo.

In questo argomento sono contenute le sezioni seguenti.

Struttura ad albero tipica

La tabella seguente illustra un controllo e una visualizzazione contenuto tipici dell'albero Automazione interfaccia utente che riguarda i controlli griglia dati e descrive cosa può essere contenuto in ogni visualizzazione. Per altre informazioni sull'albero di Automazione interfaccia utente, vedere Panoramica dell'albero di Automazione interfaccia utente.

Visualizzazione controlli Visualizzazione contenuto
  • DataGrid
    • Header (0, 1 o 2)
      • HeaderItem (numero di colonne o righe)
    • DataItem (0 o più; può essere strutturato in una gerarchia)
  • DataGrid
    • DataItem (0 o più; può essere strutturato in una gerarchia)

 

Proprietà pertinenti

Nella tabella seguente sono elencate le proprietà Automazione interfaccia utente il cui valore o definizione è particolarmente rilevante per il tipo di controllo DataGrid. Per altre informazioni sulle proprietà di Automazione interfaccia utente, vedere Recupero di proprietà da elementi Automazione interfaccia utente.

Proprietà di automazione interfaccia utente Valore Note
UIA_AutomationIdPropertyId Vedere le note. Il valore di questa proprietà deve essere univoco tra tutti gli elementi peer nella visualizzazione non elaborata dell'albero Automazione interfaccia utente.
UIA_BoundingRectanglePropertyId Vedere le note. Il rettangolo più esterno che contiene l'intero controllo.
UIA_ClickablePointPropertyId Vedere le note. Supportata se è presente un rettangolo di delimitazione. Se non tutti i punti all'interno del rettangolo di delimitazione sono selezionabili e l'elemento esegue hit testing specializzati, esegue l'override e fornisce un punto selezionabile.
UIA_ControlTypePropertyId DataGrid
UIA_IsContentElementPropertyId TRUE Il valore di questa proprietà deve essere sempre TRUE. Ciò significa che il controllo griglia di dati deve essere sempre nella visualizzazione contenuto dell'albero Automazione interfaccia utente.
UIA_IsControlElementPropertyId TRUE Il valore di questa proprietà deve sempre TRUE. Ciò significa che il controllo griglia di dati deve essere sempre incluso nella visualizzazione controllo dell'albero Automazione interfaccia utente.
UIA_IsKeyboardFocusablePropertyId Vedere le note. Se il controllo può ricevere lo stato attivo, deve supportare questa proprietà.
UIA_LabeledByPropertyId Vedere le note. Se è presente un'etichetta di testo statico, questa proprietà deve esporre un riferimento a tale controllo.
UIA_LocalizedControlTypePropertyId Vedere le note. Stringa localizzata corrispondente al tipo di controllo DataGrid . Il valore predefinito è "griglia dati" per en-US o inglese (Stati Uniti).
UIA_NamePropertyId Vedere le note. Il controllo griglia dati ottiene in genere il valore per la relativa proprietà Name da un'etichetta di testo statica. Se non è presente un'etichetta di testo statico, uno sviluppatore di applicazioni deve assegnare un valore a per la proprietà Name . Il valore della proprietà Name non deve mai essere il contenuto testuale del controllo di modifica.

 

Pattern di controllo obbligatori

Nella tabella seguente sono elencati i pattern di controllo Automazione interfaccia utente necessari per essere supportati da tutti i controlli griglia dati. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.

Pattern di controllo Supporto Note
IGridProvider Necessario Il controllo griglia dati supporta sempre il pattern di controllo Grid perché gli elementi che contengono contengono metadati disposti in una griglia.
IScrollProvider Dipende da La possibilità di scorrere la griglia dati dipende dal contenuto e dalla presenza o meno delle barre di scorrimento.
ISelectionProvider Dipende da La possibilità di selezionare la griglia dati dipende dal contenuto.
ITableProvider Dipende da Un controllo griglia di dati con un'intestazione deve supportare il modello di controllo Tabella .

 

Gli elementi di dati nei contenitori di griglia dati supporteranno almeno:

  • Modello di controllo SelectionItem (se la griglia di dati è selezionabile)
  • Modello di controllo ScrollItem (se la griglia di dati è scorrevole)
  • Modello di controllo GridItem
  • Modello di controllo TableItem (se la griglia di dati ha un'intestazione)

Eventi obbligatori

Nella tabella seguente sono elencati gli eventi Automazione interfaccia utente necessari per il supporto dei controlli griglia di dati. Per altre informazioni sugli eventi, vedere UI Automation Events Overview.

Automazione interfaccia utente evento Note
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento modificato dalla proprietà.
UIA_IsEnabledPropertyId evento modificato dalla proprietà. Se il controllo supporta la proprietà IsEnabled , deve supportare questo evento.
UIA_IsOffscreenPropertyId evento modificato dalla proprietà. Se il controllo supporta la proprietà IsOffscreen , deve supportare questo evento.
UIA_LayoutInvalidatedEventId
UIA_StructureChangedEventId
UIA_MultipleViewCurrentViewPropertyId evento modificato dalla proprietà. Se il controllo supporta la proprietà CurrentView del modello di controllo MultipleView , deve supportare questo evento.
UIA_ScrollHorizontallyScrollablePropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo Scroll , deve supportare questo evento.
UIA_ScrollHorizontalScrollPercentPropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo Scroll , deve supportare questo evento.
UIA_ScrollHorizontalViewSizePropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo Scroll , deve supportare questo evento.
UIA_ScrollVerticalScrollPercentPropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo Scroll , deve supportare questo evento.
UIA_ScrollVerticallyScrollablePropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo Scroll , deve supportare questo evento.
UIA_ScrollVerticalViewSizePropertyId evento modificato dalla proprietà. Se il controllo supporta il modello di controllo Scroll , deve supportare questo evento.
UIA_Selection_InvalidatedEventId

 

Esempio di tipo di controllo DataGrid

L'immagine seguente illustra un controllo di visualizzazione elenco che implementa il tipo di controllo DataGrid .

schermata del controllo di visualizzazione elenco con tipo di controllo datagrid

La visualizzazione del controllo e la visualizzazione contenuto dell'albero Automazione interfaccia utente che riguarda il controllo di visualizzazione elenco viene visualizzato di seguito. I pattern di controllo per ogni elemento di automazione sono indicati tra parentesi.

Automazione interfaccia utente albero - Visualizzazione controllo albero Automazione interfaccia utente - Visualizzazione contenuto
DataGrid (ordinamento, tabella, selezione, griglia)
  • Intestazione
    • HeaderItem "Nome" (Invoke)
    • HeaderItem "Ultima modifica" (Invoke)
    • HeaderItem "Dimensione" (Invoke)
  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)
    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
DataGrid (Table, Grid, Selection)
  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)
    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

 

*L'esempio precedente mostra una griglia di dati che contiene più livelli di controlli. Il controllo Group ("Contoso") contiene due controlli DataItem ("Account Receivable.doc" e "Account Payable.doc"). Una coppia DataGrid/GridItem è indipendente da una coppia a un altro livello. I controlli DataItem in un gruppo possono essere esposti anche come tipo di controllo ListItem , consentendo loro di essere presentati più chiaramente come oggetti selezionabili, anziché come elementi di dati semplici. Questo esempio non include i sottoelementi degli elementi di dati raggruppati. Per un altro esempio di più livelli di controlli, vedere il tipo di controllo DataItem .

Informazioni concettuali

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

Cenni preliminari su automazione interfaccia utente