Condividi tramite


Implementazione del pattern di controllo Grid di automazione interfaccia utente

NotaNota

La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese).

In questo argomento vengono presentate linee guida e convenzioni per l'implementazione di IGridProvider, incluse le informazioni su proprietà, metodi ed eventi. Alla fine dell'argomento sono elencati i collegamenti a ulteriori riferimenti.

Il pattern di controllo GridPattern viene utilizzato per supportare i controlli che agiscono da contenitori per un insieme 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 alcuni esempi di controlli che implementano questo pattern di controllo, vedere Mapping dei pattern di controllo per i client di automazione interfaccia utente.

Nel presente argomento sono contenute le seguenti sezioni.

  • Linee guida e convenzioni per l'implementazione
  • Membri obbligatori per IGridProvider
  • Eccezioni
  • Argomenti correlati

Linee guida e convenzioni per l'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 e la cella superiore sinistra (o destra superiore a seconda delle impostazioni locali) con 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. Questa condizione è possibile quando il layout di elementi figlio nella griglia è simile a una matrice irregolare (vedere l'esempio di seguito).

Esempio di controllo griglia con coordinate vuote

Visualizzazione di Esplora risorse con layout irregolare

  • Anche una griglia con un solo elemento deve implementare IGridProvider se viene considerata logicamente una griglia. Il numero di elementi figlio nella griglia è irrilevante.

  • A seconda dell'implementazione del provider, è possibile che righe e colonne nascoste vengano caricate nella struttura ad albero di UI Automation e, pertanto, riflesse nelle proprietà RowCount e ColumnCount. Le righe e le colonne nascoste non ancora caricate non devono essere contate.

  • IGridProvider non consente la modifica attiva di una griglia. Per abilitare questa funzionalità, è necessario implementare ITransformProvider.

  • Utilizzare un oggetto StructureChangedEventHandler per ascoltare le modifiche strutturali o di layout della griglia, ad esempio l'aggiunta, la rimozione o l'unione di celle.

  • Utilizzare un oggetto AutomationFocusChangedEventHandler per registrare l'attraversamento tra gli elementi o le celle di una griglia.

Membri obbligatori per IGridProvider

Le proprietà e i metodi seguenti sono obbligatori per l'implementazione dell'interfaccia IGridProvider.

Membri obbligatori

Tipo

Note

RowCount

Proprietà

Nessuno

ColumnCount

Proprietà

Nessuno

GetItem

Metodo

Nessuno

A questo pattern di controllo non sono associati eventi.

Eccezioni

I provider devono generare le eccezioni seguenti.

Tipo di eccezione

Condizione

ArgumentOutOfRangeException

GetItem

  • Se la coordinata di riga richiesta è maggiore della proprietà RowCount o se la coordinata di colonna è maggiore della proprietà ColumnCount.

ArgumentOutOfRangeException

GetItem

  • Se le coordinate di riga o di colonna richieste sono minori di zero.

Vedere anche

Attività

Supportare pattern di controllo in un provider di automazione interfaccia utente

Utilizzare la memorizzazione nella cache per l'automazione interfaccia utente

Concetti

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

Pattern di controllo di automazione interfaccia utente per i client

Implementazione del pattern di controllo GridItem di automazione interfaccia utente

Cenni preliminari sulla struttura ad albero di automazione dell'interfaccia utente