Partager via


Implémentation du modèle de contrôle Grid d'UI Automation

RemarqueRemarque

Cette documentation s'adresse aux développeurs .NET Framework qui veulent utiliser les classes UI Automation managées définies dans l'espace de noms System.Windows.Automation.Pour obtenir les informations les plus récentes sur UI Automation, consultez API Windows Automation : UI Automation (page éventuellement en anglais).

Cette rubrique présente les conventions et directives à respecter pour implémenter IGridProvider, notamment les informations sur les propriétés, les méthodes et les événements. Des liens vers des références supplémentaires sont répertoriés à la fin de la vue d'ensemble.

Le modèle de contrôle GridPattern est utilisé pour prendre en charge les contrôles qui agissent en tant que conteneurs pour une collection d'éléments enfants. Les enfants de cet élément doivent implémenter IGridItemProvider et être organisés dans un système de coordonnées logiques à deux dimensions qui peut être parcouru par ligne et par colonne. Pour obtenir des exemples de contrôles qui implémentent ce modèle de contrôle, consultez Mappage de modèle de contrôle pour les clients UI Automation.

Cette rubrique comprend les sections suivantes.

  • Conventions et instructions d'implémentation
  • Membres requis pour IGridProvider
  • Exceptions
  • Rubriques connexes

Conventions et instructions d'implémentation

Lorsque vous implémentez le modèle de contrôle Grid, notez les conventions et instructions suivantes :

  • Les coordonnées de grille sont de base zéro, les coordonnées de la cellule supérieure gauche (ou supérieure droite en fonction des paramètres régionaux) étant (0, 0).

  • Si une cellule est vide, un élément UI Automation doit être retourné pour prendre en charge la propriété ContainingGrid pour cette cellule. Cela est possible lorsque la disposition des éléments enfants dans la grille est semblable à un tableau non justifié (voir l'exemple ci-dessous).

Exemple de contrôle Grid avec des coordonnées vides

Vue de l'Explorateur Windows montrant une disposition irrégulière.

  • Une grille avec un seul élément est requise pour implémenter IGridProvider si elle est logiquement considérée comme une grille. Le nombre d'éléments enfants dans la grille est immatériel.

  • Suivant l'implémentation de fournisseur, les lignes et les colonnes masquées peuvent être chargées dans l'arborescence UI Automation et sont donc reflétées dans les propriétés RowCount et ColumnCount. Si les lignes et les colonnes masquées n'ont pas encore été chargées, elles ne doivent pas être comptabilisées.

  • IGridProvider n'active pas la manipulation active d'une grille ; ITransformProvider doit être implémenté pour activer cette fonctionnalité.

  • Utilisez un StructureChangedEventHandler pour écouter les modifications structurelles ou de disposition apportées à la grille, telles que les cellules qui ont été ajoutées, supprimées ou fusionnées.

  • Utilisez un AutomationFocusChangedEventHandler pour suivre le parcours des éléments ou cellules d'une grille.

Membres requis pour IGridProvider

Les propriétés et méthodes suivantes sont requises pour implémenter l'interface IGridProvider.

Membres requis

Type

Remarques

RowCount

Propriété

Aucun

ColumnCount

Propriété

Aucun

GetItem

Méthode

Aucun

Ce modèle de contrôle n'est associé à aucun événement.

Exceptions

Les fournisseurs doivent lever les exceptions suivantes.

Type d'exception

Condition

ArgumentOutOfRangeException

GetItem

  • Si la coordonnée de la ligne demandée est supérieure à RowCount ou la coordonnée de la colonne est supérieure à ColumnCount.

ArgumentOutOfRangeException

GetItem

  • Si l'une des coordonnées de ligne ou de colonne demandées est inférieure à zéro.

Voir aussi

Tâches

Prendre en charge des modèles de contrôle dans un fournisseur UI Automation

Utiliser la mise en cache dans UI Automation

Concepts

Vue d'ensemble des modèles de contrôle UI Automation

Modèles de contrôle UI Automation pour les clients

Implémentation du modèle de contrôle GridItem d'UI Automation

Vue d'ensemble de l'arborescence UI Automation