Partager via


Implémentation du modèle de contrôle GRID UI Automation

Remarque

Cette documentation est destinée aux développeurs .NET Framework qui souhaitent 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.

Cette rubrique présente des instructions et des conventions pour l’implémentation de IGridProvider, y compris des informations sur les propriétés, les méthodes et les événements. Les 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 permet de prendre en charge les contrôles qui agissent comme des 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 colonne. Pour obtenir des exemples de contrôles qui implémentent ce modèle de contrôle, consultez Mappage des modèles de contrôle pour les clients UI Automation.

Directives et conventions de mise en œuvre

Lors de l’implémentation du modèle de contrôle Grid, notez les instructions et conventions suivantes :

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

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

Affichage De l’Explorateur Windows montrant la disposition raré. Exemple de contrôle Grid avec des coordonnées vides

  • Une grille avec un seul élément est toujours nécessaire pour implémenter IGridProvider s’il est logiquement considéré comme une grille. Le nombre d’éléments enfants dans la grille est nonmatérial.

  • Les lignes et colonnes masquées, en fonction de l’implémentation du fournisseur, peuvent être chargées dans l’arborescence UI Automation et seront donc reflétées dans les propriétés et ColumnCount les RowCount propriétés. Si les lignes et 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 outil 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 la traversée par les éléments ou les cellules d’une grille.

Membres obligatoires pour IGridProvider

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

Membres obligatoires Catégorie Remarques
RowCount Propriété Aucun
ColumnCount Propriété Aucun
GetItem Méthode Aucun

Ce modèle de contrôle n’a aucun événement associé.

Exceptions

Les fournisseurs doivent lever les exceptions suivantes.

Type d’exception État
ArgumentOutOfRangeException GetItem

- Si la coordonnée de ligne demandée est supérieure à la RowCount coordonnée de colonne ou si la coordonnée de colonne est supérieure à la ColumnCountcoordonnée .
ArgumentOutOfRangeException GetItem

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

Voir aussi