Implementazione del pattern di controllo Grid di automazione interfaccia utente
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 presentate le linee guida e le convenzioni per l'implementazione di IGridProvider, incluse le informazioni relative a proprietà, metodi ed eventi. Alla fine della panoramica sono elencati collegamenti a ulteriore materiale di riferimento.
Il pattern di controllo GridPattern viene usato per supportare i controlli che fungono da contenitori per una raccolta di elementi figlio. Gli elementi figlio di questo elemento devono implementare IGridItemProvider e devono essere organizzati in un sistema di coordinate logico bidimensionale che può essere attraversato da righe e colonne. Per esempi di controlli che implementano questo pattern di controllo, vedere Control Pattern Mapping for UI Automation Clients.
Linee guida e convenzioni di implementazione
Quando si implementa il pattern di controllo Grid, tenere presenti le linee guida e le convenzioni seguenti:
Le coordinate della griglia sono in base zero, dove la cella in alto a sinistra (o in alto a destra a seconda delle impostazioni locali) ha coordinate (0, 0).
Se una cella è vuota, è necessario che venga restituito un elemento di automazione interfaccia utente per supportare la proprietà ContainingGrid per tale cella. Ciò è possibile quando il layout degli elementi figlio nella griglia è simile a una matrice irregolare (vedere l'esempio riportato di seguito).
Esempio di controllo griglia con coordinate vuote
Una griglia contenente un singolo elemento deve comunque implementare IGridProvider se viene logicamente considerata una griglia. Il numero di elementi figlio nella griglia non ha importanza.
Le righe e colonne nascoste, a seconda dell'implementazione del provider, possono essere caricate nell'albero di UI Automation e pertanto influenzare le proprietà RowCount e ColumnCount. Se le righe e colonne nascoste non sono ancora state caricate, non devono essere contate.
IGridProvider non consente la modifica attiva di una griglia. ITransformProvider deve essere implementata per abilitare questa funzionalità.
Usare un'interfaccia StructureChangedEventHandler per attendere le modifiche strutturali o di layout della griglia, ad esempio l'aggiunta, la rimozione o l'unione di celle.
Usare un'interfaccia AutomationFocusChangedEventHandler per registrare l'attraversamento di elementi o celle di una griglia.
Membri obbligatori per IGridProvider
Le proprietà e i metodi seguenti sono obbligatori per l'implementazione dell'interfaccia IGridProvider.
Membri obbligatori | Type | Note |
---|---|---|
RowCount | Proprietà | None |
ColumnCount | Proprietà | None |
GetItem | metodo | None |
Questo pattern di controllo non è associato a eventi.
Eccezioni
I provider devono generare le eccezioni seguenti.
Tipo di eccezione | Condizione |
---|---|
ArgumentOutOfRangeException | GetItem - La coordinata di riga richiesta è maggiore di RowCount o la coordinata di colonna è maggiore di ColumnCount. |
ArgumentOutOfRangeException | GetItem - La coordinata di riga o colonna richiesta è minore di zero. |
Vedi anche
- Panoramica dei pattern di controllo per l'automazione interfaccia utente
- Supportare pattern di controllo in un provider di automazione interfaccia utente
- Pattern di controllo di automazione interfaccia utente per i client
- Implementazione del pattern di controllo GridItem di automazione interfaccia utente
- Panoramica dell'albero di automazione interfaccia utente
- Usare la memorizzazione nella cache in automazione interfaccia utente