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).

Windows Explorer view showing ragged layout. 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