Supporto per automazione interfaccia utente del tipo di controllo List

Nota

Questa documentazione è destinata agli sviluppatori .NET Framework che desiderano utilizzare le classi di UI Automation gestite definite nello spazio dei nomi System.Windows.Automation. Per informazioni aggiornate su UI Automation, vedere API di automazione di Windows: UI Automation.

In questo argomento vengono fornite informazioni sul supporto di UI Automation per il tipo di controllo List. In UI Automation, 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 UI Automation, i valori delle proprietà di UI Automation e i criteri di controllo.

Il tipo di controllo elenco consente di organizzare uno o più gruppi di elementi permettendo a un utente di selezionare uno o più elementi. Il tipo di controllo elenco prevede una restrizione ampia sui tipi di elementi figlio che può contenere. I provider di automazione interfaccia utente sono quindi in grado di supportare un elemento noto per i contenitori di selezione.

I requisiti di UI Automation nelle sezioni seguenti si applicano a tutti i controlli che implementano il tipo di controllo List, siano essi Windows Presentation Foundation (WPF), Win32 o Windows Forms. I controlli contenitore elenco sono un esempio di controlli che implementano il tipo di controllo elenco.

Struttura ad albero di automazione interfaccia utente obbligatoria

Nella tabella seguente vengono illustrate due visualizzazioni dell'albero di UI Automation relativamente ai controlli elenco e viene descritto il possibile contenuto di ogni visualizzazione. Nella visualizzazione controlli sono contenuti solo elementi controllo e nella visualizzazione contenuto vengono rimosse le informazioni ridondanti dell'albero. Ad esempio, un controllo testo usato come etichetta di una casella combinata sarà esposto come ComboBox NameProperty. Poiché il controllo testo è già esposto in questo modo tramite la visualizzazione controlli, non è necessario che venga esposto due volte e, pertanto, viene rimosso dalla visualizzazione contenuto. Per maggiori informazioni sull'albero di UI Automation, vedere Panoramica dell’albero di UI Automation.

Visualizzazione controlli Visualizzazione contenuto
Contiene elementi che corrispondono ai controlli. Rimuove le informazioni ridondanti dell'albero in modo che i prodotti di assistive technology dispongano di un insieme ridotto di informazioni significative per l'utente finale.
List

- DataItem (0 o più)
- ListItem (0 o più)
- Group (0 o più)
- ScrollBar (0, 1 o 2)
List

- DataItem (0 o più)
- ListItem (0 o più)
- Group (0 o più)

La visualizzazione controlli per un controllo che implementa il tipo di controllo elenco (ad esempio un controllo elenco) contiene:

  • Zero o più elementi nel controllo elenco (gli elementi possono essere basati sui tipi di controllo ListItem o DataItem).

  • Zero o più controlli gruppo in un controllo elenco.

  • Zero, uno o due controlli barra di scorrimento.

La visualizzazione contenuto di un controllo che implementa il tipo di controllo elenco (ad esempio un controllo elenco) contiene:

  • Zero o più elementi nel controllo elenco (gli elementi possono essere basati sui tipi di controllo ListItem o DataItem).

  • Zero o più gruppi nel controllo elenco.

Un controllo elenco non deve contenere elementi con una relazione gerarchica diversa dal raggruppamento. Se gli elementi hanno figli nell'albero di UI Automation, il contenitore elenco deve essere basato sul tipo di controllo Tree.

Gli elementi selezionabili nel controllo elenco sono disponibili dai discendenti nell'albero di UI Automation del controllo elenco. Tutti gli elementi nel controllo elenco devono appartenere allo stesso gruppo di selezione. Gli elementi selezionabili nell'elenco devono essere esposti come tipi di controllo ListItem (anziché DataItem).

Proprietà di automazione interfaccia utente obbligatorie

La seguente tabella elenca le proprietà di UI Automation il cui valore o definizione è particolarmente rilevante per i controlli elenco. Per maggiori informazioni sulle proprietà di UI Automation, vedere Proprietà di UI Automation per i client.

Proprietà di automazione interfaccia utente 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. Se l'elenco ha un punto selezionabile, ovvero un punto su cui è possibile fare clic affinché l'elenco assuma lo stato attivo, tale punto deve essere esposto tramite questa proprietà.

Se il valore della proprietà IsOffScreen è True, verrà generato l'oggetto NoClickablePointException.
IsKeyboardFocusableProperty Vedere le note. Se il controllo può ricevere lo stato attivo, deve supportare questa proprietà.
NameProperty Vedere le note. Il valore della proprietà Name di un controllo elenco deve fornire la categoria di opzioni da cui l'utente effettua la selezione. Questa proprietà deriva in genere il nome da un'etichetta di testo statico. Se non è presente alcuna etichetta di testo statico, lo sviluppatore dell'applicazione deve esporre un valore per la proprietà Name.

L'unico caso in cui questa proprietà non è obbligatoria per i controlli elenco è quando si usa il controllo all'interno del sottoalbero di un altro controllo.
LabeledByProperty Vedere le note. Se è presente un'etichetta di testo statico, questa proprietà deve esporre un riferimento a tale controllo.
ControlTypeProperty List Questo valore è uguale per tutti i framework dell'interfaccia utente.
LocalizedControlTypeProperty "elenco" Stringa localizzata corrispondente al tipo di controllo elenco.
IsContentElementProperty Vero Il controllo elenco è sempre incluso nella vista contenuto dell'albero di UI Automation.
IsControlElementProperty Vero Il controllo elenco è sempre incluso nella vista controllo dell'albero di UI Automation.
IsKeyboardFocusableProperty Vero Se il contenitore può accettare input da tastiera, il valore di questa proprietà deve essere True.
HelpTextProperty Vedere le note. Il testo della Guida per i controlli elenco deve illustrare il motivo per cui viene chiesto all'utente di effettuare una selezione da un elenco di opzioni. Ad esempio, "La selezione di un elemento dall'elenco consente di impostare la risoluzione per il monitor".

Pattern di controllo e proprietà obbligatori per l'automazione interfaccia utente

La seguente tabella elenca i modelli di controllo di UI Automation che devono essere supportati dai controlli elenco. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.

Pattern di controllo/proprietà del pattern Supporto/valore Note
ISelectionProvider Richiesto Tutti i controlli che supportano il tipo di controllo elenco devono implementare ISelectionProvider quando viene gestito uno stato di selezione tra gli elementi nel controllo. Se gli elementi all'interno del contenitore non sono selezionabili, usare il tipo di controllo Group.
IsSelectionRequired Dipende da Nei controlli elenco non è necessario che un elemento sia sempre selezionato.
CanSelectMultiple Dipende da I controlli elenco possono essere contenitori per una o più selezioni.
IScrollProvider Dipende da Implementare questo pattern di controllo se gli elementi nel contenitore sono scorrevoli.
IGridProvider Dipende da Implementare questo pattern quando è necessario rendere disponibile lo spostamento nella griglia elemento per elemento.
IMultipleViewProvider Dipende da Implementare questo pattern di controllo se il controllo può supportare più visualizzazioni degli elementi nel contenitore.
ITableProvider Mai ITableProvider non è mai supportato per il tipo di controllo elenco. Se il controllo deve supportare questo pattern di controllo, deve essere basato sul tipo del controllo DataGrid.

Eventi di automazione interfaccia utente obbligatori

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

Evento di UI Automation Supporto/valore Note
InvalidatedEvent Dipende da None
LayoutInvalidatedEvent Dipende da None
Evento di modifica della proprietàBoundingRectangleProperty . Richiesto None
Evento di modifica della proprietàIsOffscreenProperty . Richiesto None
Evento di modifica della proprietàIsEnabledProperty . Richiesto None
Evento di modifica della proprietàCurrentViewProperty . Dipende da None
Evento di modifica della proprietàHorizontallyScrollableProperty . Dipende da None
Evento di modifica della proprietàHorizontalScrollPercentProperty . Dipende da None
Evento di modifica della proprietàHorizontalViewSizeProperty . Dipende da None
Evento di modifica della proprietàVerticalScrollPercentProperty . Dipende da None
Evento di modifica della proprietàVerticallyScrollableProperty . Dipende da None
Evento di modifica della proprietàVerticalViewSizeProperty . Dipende da None
AutomationFocusChangedEvent Richiesto None
StructureChangedEvent Richiesto None

Vedi anche