Condividi tramite


Implementazione dello schema di controllo griglia dell'automazione dell'interfaccia utente

Annotazioni

Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.

Questo argomento presenta linee guida e convenzioni per l'implementazione di IGridProvider, incluse informazioni su proprietà, metodi ed eventi. I collegamenti a riferimenti aggiuntivi sono elencati alla fine della panoramica.

Il GridPattern pattern di controllo 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 essere organizzati in un sistema di coordinate logico bidimensionale che può essere attraversato da riga e colonna. Per esempi di controlli che implementano questo pattern di controllo, vedere Mapping dei criteri di controllo per i client di automazione interfaccia utente.

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 con la cella superiore sinistra (o superiore destra a seconda delle impostazioni locali) con coordinate (0, 0).

  • Se una cella è vuota, è necessario che venga comunque restituito un elemento di automazione interfaccia utente per supportare la ContainingGrid proprietà per tale cella. Ciò è possibile quando il layout degli elementi figlio nella griglia è simile a una matrice incompleta (vedere l'esempio seguente).

Visualizzazione di Esplora risorse di Windows con layout non allineato. Esempio di controllo griglia con coordinate vuote

  • Una griglia con un singolo elemento è comunque necessaria per implementare IGridProvider se è considerata logicamente una griglia. Il numero di elementi figlio nella griglia è irrilevante.

  • Le righe e le colonne nascoste, a seconda dell'implementazione del provider, possono essere caricate nell'albero di automazione dell'interfaccia utente e pertanto verranno riflesse nelle proprietà RowCount e ColumnCount. Se le righe e le colonne nascoste non sono ancora state caricate, non devono essere conteggiate.

  • IGridProvider non abilita la manipolazione attiva di una griglia; ITransformProvider deve essere implementato per abilitare questa funzionalità.

  • Usare un StructureChangedEventHandler per monitorare le modifiche strutturali o di layout alla griglia, come le celle aggiunte, rimosse o unite.

  • Utilizzare un AutomationFocusChangedEventHandler per tenere traccia del percorso attraverso gli elementi o le celle di una griglia.

Membri obbligatori per IGridProvider

Per implementare l'interfaccia IGridProvider sono necessari i metodi e le proprietà seguenti.

Membri obbligatori TIPO Note
RowCount Proprietà Nessuno
ColumnCount Proprietà Nessuno
GetItem Metodo Nessuno

Questo pattern di controllo non è associato a eventi.

Eccezioni

I provider devono sollevare le eccezioni seguenti.

Tipo di eccezione Condizione
ArgumentOutOfRangeException GetItem

- Se la coordinata della riga richiesta è maggiore del valore di RowCount o la coordinata della colonna è maggiore del valore di ColumnCount.
ArgumentOutOfRangeException GetItem

- Se una delle coordinate di riga o colonna richieste è minore di zero.

Vedere anche