Partager via


Prise en charge d'UI Automation pour le type de contrôle DataGrid

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 fournit des informations sur la prise en charge d'Microsoft UI Automation pour le type de contrôle DataGrid. Dans UI Automation, un type de contrôle est un ensemble de conditions qu'un contrôle doit respecter afin d'utiliser la propriété ControlType. Les conditions incluent des indications spécifiques pour l'arborescence UI Automation, les valeurs de propriété UI Automation et les modèles de contrôle .

Le type de contrôle DataGrid permet à un utilisateur d'utiliser facilement des éléments qui contiennent des métadonnées représentées dans des colonnes. Les contrôles de grille de données disposent de lignes d'éléments et de colonnes d'informations sur ces éléments. Dans l'Explorateur Microsoft Vista, un contrôle List View est un exemple qui prend en charge le type de contrôle DataGrid.

Les sections suivantes définissent l'arborescence UI Automation, les propriétés, les modèles de contrôle et les événements requis pour le type de contrôle DataGrid. Les spécifications UI Automation s'appliquent à tous les contrôles de grille de données, qu'il s'agisse de Windows Presentation Foundation (WPF), Win32 ou Windows Forms.

Cette rubrique comprend les sections suivantes.

  • Arborescence UI Automation requise
  • Propriétés UI Automation requises
  • Modèles de contrôle UI Automation requis
  • Événements UI Automation requis
  • Type de contrôle DataGrid, exemple
  • Rubriques connexes

Arborescence UI Automation requise

Le tableau suivant représente l'affichage de contrôle et l'affichage du contenu de l'arborescence UI Automation concernant les contrôles de grille de données et décrit ce qui peut être inclus dans chaque affichage. Pour plus d'informations sur l'arborescence UI Automation, consultez Vue d'ensemble de l'arborescence UI Automation.

Arborescence UI Automation - Affichage de contrôle

Arborescence UI Automation - Affichage du contenu

DataGrid

  • Header (0 ou 1)

    • HeaderItem (nombre de colonnes ou de lignes)

  • DataItem (0 ou plus ; peut être structuré dans la hiérarchie)

DataGrid

  • DataItem (0 ou plus ; peut être structuré dans la hiérarchie)

Propriétés UI Automation requises

Le tableau suivant répertorie les propriétés dont la valeur ou la définition est particulièrement pertinente pour les contrôles de grille de données. Pour plus d'informations sur les propriétés UI Automation, consultez Propriétés UI Automation pour les clients.

Propriété

Valeur

Remarques

AutomationIdProperty

Consulter les remarques.

La valeur de cette propriété doit être unique dans tous les contrôles d'une application.

BoundingRectangleProperty

Consulter les remarques.

Le rectangle le plus éloigné qui contient l'ensemble du contrôle.

ClickablePointProperty

Consulter les remarques.

Prise en charge s'il existe un rectangle englobant. Si les points du rectangle englobant ne sont pas tous interactifs et que vous effectuez un test de positionnement spécialisé, vous devez substituer et fournir un point interactif.

ControlTypeProperty

DataGrid

Cette valeur est la même pour toutes les infrastructures d'interface utilisateur.

IsContentElementProperty

True

La valeur de cette propriété doit toujours être True. Cela signifie que le contrôle de grille de données doit toujours être inclus dans l'affichage du contenu de l'arborescence UI Automation.

IsControlElementProperty

True

La valeur de cette propriété doit toujours être True. Cela signifie que le contrôle de grille de données doit toujours être inclus dans l'affichage de contrôle de l'arborescence UI Automation.

IsKeyboardFocusableProperty

Consulter les remarques.

Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.

LabeledByProperty

Consulter les remarques.

Si une étiquette de texte statique est présente, alors cette propriété doit exposer une référence à ce contrôle.

LocalizedControlTypeProperty

"grille de données"

Chaîne localisée correspondant au type de contrôle DataGrid.

NameProperty

Consulter les remarques.

En général, le contrôle de grille de données obtient la valeur de sa propriété Name depuis une étiquette de texte statique. Si aucune étiquette de texte statique n'est présente, alors une valeur doit être assignée à la propriété Name par un développeur d'application. La valeur de la propriété Name ne doit jamais correspondre au contenu textuel du contrôle d'édition.

Modèles de contrôle UI Automation requis

Le tableau suivant répertorie les modèles de contrôle qui doivent être pris en charge par l'ensemble des contrôles d'élément de données. Pour plus d'informations sur les modèles de contrôle, consultez Vue d'ensemble des modèles de contrôle UI Automation.

Modèle de contrôle

Prise en charge

Remarques

IGridProvider

Oui

Le contrôle de grille de données proprement dit prend toujours en charge le modèle de contrôle Grid car les éléments qu'il contient sont dotés de métadonnées exposées dans une grille.

IScrollProvider

Selon le cas

La capacité à faire défiler la grille de données dépend du contenu et de la présence ou non de barres de défilement.

ISelectionProvider

Selon le cas

La capacité à sélectionner la grille de données dépend de contenu.

ITableProvider

Oui

Le contrôle de grille de données a toujours un en-tête dans son sous-arbre afin que le modèle de contrôle Table soit pris en charge.

Les éléments de données des conteneurs de grille de données prendront en charge, au minimum, les éléments suivants :

  • Modèle de contrôle d'élément de sélection Selection Item (si la grille de données est sélectionnable)

  • Modèle de contrôle d'élément de défilement Scroll Item (si la grille de données peut être parcourue par défilement)

  • le modèle de contrôle Grid Item

  • le modèle de contrôle Table Item

Événements UI Automation requis

Le tableau suivant répertorie les événements UI Automation qui doivent être pris en charge par tous les contrôles de grille de données. Pour plus d'informations sur les événements, consultez Vue d'ensemble des événements UI Automation.

Événement UI Automation

Prise en charge

Remarques

AutomationFocusChangedEvent

Obligatoire

Aucun

Événement de modification de propriété BoundingRectangleProperty.

Obligatoire

Aucun

Événement de modification de propriété IsEnabledProperty.

Obligatoire

Aucun

Événement de modification de propriété IsOffscreenProperty.

Obligatoire

Aucun

LayoutInvalidatedEvent

Selon le cas

Aucun

StructureChangedEvent

Obligatoire

Aucun

Événement de modification de propriété CurrentViewProperty.

Selon le cas

Aucun

Événement de modification de propriété HorizontallyScrollableProperty.

Selon le cas

Si le contrôle prend en charge le modèle Scroll, il doit prendre en charge cet événement.

Événement de modification de propriété HorizontalScrollPercentProperty.

Selon le cas

Si le contrôle prend en charge le modèle Scroll, il doit prendre en charge cet événement.

Événement de modification de propriété HorizontalViewSizeProperty.

Selon le cas

Si le contrôle prend en charge le modèle Scroll, il doit prendre en charge cet événement.

Événement de modification de propriété VerticalScrollPercentProperty.

Selon le cas

Si le contrôle prend en charge le modèle Scroll, il doit prendre en charge cet événement.

Événement de modification de propriété VerticallyScrollableProperty.

Selon le cas

Si le contrôle prend en charge le modèle Scroll, il doit prendre en charge cet événement.

Événement de modification de propriété VerticalViewSizeProperty.

Selon le cas

Si le contrôle prend en charge le modèle Scroll, il doit prendre en charge cet événement.

InvalidatedEvent

Obligatoire

Aucun

Type de contrôle DataGrid, exemple

L'image suivante illustre un contrôle List View qui implémente le type de contrôle DataGrid.

Graphique du contrôle d'affichage de liste avec deux éléments de données

L' affichage de contrôle et l'affichage du contenu de l'arborescence UI Automation relatifs au contrôle List View sont affichés ci-dessous. Les modèles de contrôle de chaque élément Automation sont mis entre parenthèses.

Arborescence UI Automation - Affichage de contrôle

Arborescence UI Automation - Affichage du contenu

  • DataGrid (Table, Grid, Selection)

  • Header

    • HeaderItem "Nom" (Invoke)

    • HeaderItem "Date de modification" (Invoke)

    • HeaderItem "Taille" (Invoke)

  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

  • DataGrid (Table, Grid, Selection)

  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

*L'exemple précédent montre un DataGrid qui contient plusieurs niveaux de contrôles. Le contrôle Group (« Contoso ») contient deux contrôles DataItem (« Accounts Receivable.doc » et « Accounts Payable.doc »). Une paire DataGrid/GridItem est indépendante d'une paire à un autre niveau. Les contrôles DataItem sous un groupe peuvent également être exposés en tant que type de contrôle ListItem, ce qui leur permet d'être présentés plus clairement en tant qu'objets sélectionnables, plutôt qu'en tant qu'éléments de données simples. Cet exemple n'inclut pas les sous-éléments des éléments de données groupés.

Voir aussi

Référence

DataGrid

Concepts

Vue d'ensemble des types de contrôle UI Automation

Vue d'ensemble d'UI Automation