Partager via


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

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 DataItem. 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é ControlTypeProperty. 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.

L'entrée dans une liste de contacts est un exemple de contrôle d'élément de données. Un contrôle d'élément de données contient des informations intéressantes pour l'utilisateur final. Il est plus compliqué que l'élément de liste simple, car il contient des informations plus riches.

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 DataItem. Les spécifications UI Automation s'appliquent à tous les contrôles d'élément 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
  • Utilisation d'éléments de données dans les longues listes
  • Événements UI Automation requis
  • Exemple de type de contrôle DataItem
  • 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 data 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

DataItem

  • Varie (0 ou plus ; peut être structuré dans une hiérarchie)

DataItem

  • Varie (0 ou plus ; peut être structuré dans une hiérarchie)

Un élément item de données dans une grille de données peut héberger divers objets, notamment une autre couche d'éléments de données ou des éléments de grille spécifiques tels que du texte, des images ou des contrôles d'édition. Si l'élément item de données a un rôle d'objet spécifique, l'élément doit être exposé en tant que type de contrôle spécifique, par exemple, un type de contrôle ListItem pour un élément de données sélectionnable dans la grille.

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 d'élément 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

DataItem

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

IsContentElementProperty

True

Le contrôle d'élément de données doit toujours être du contenu.

IsControlElementProperty

True

Le contrôle d'élément de données doit toujours être un contrôle.

IsKeyboardFocusableProperty

Consulter les remarques.

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

ItemStatusProperty

Consulter les remarques.

Si le contrôle contient l'état qui est mis à jour dynamiquement, cette propriété doit être prise en charge afin qu'une technologie d'assistance puisse recevoir des mises à jour lorsque l'état de l'élément change.

ItemTypeProperty

Consulter les remarques.

Il s'agit de la valeur de chaîne qui transmet à l'utilisateur final l'objet sous-jacent représenté par l'élément. « Fichier multimédia » ou « Contact » en sont des exemples.

LabeledByProperty

Null

Les contrôles d'élément de données n'ont pas d'étiquette de texte statique.

LocalizedControlTypeProperty

"élément de données"

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

NameProperty

Consulter les remarques.

Le contrôle d'élément de données contient toujours un élément texte principal qui se rapporte à ce que l'utilisateur associerait comme identificateur le plus sémantique pour l'élément.

Modèles de contrôle UI Automation requis

Le tableau suivant répertorie les modèles de contrôle Microsoft UI Automation qui doivent être pris en charge par tous les 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

IExpandCollapseProvider

Selon le cas

Si l'élément de données peut être développé ou réduit pour afficher et masquer des informations, le modèle Expand Collapse doit être pris en charge.

IGridItemProvider

Selon le cas

Les éléments de données prendront en charge le modèle Grid Item lorsqu'une collection d'éléments de données sera disponible dans un conteneur pouvant être parcouru de manière spatiale d'un élément à un autre.

IScrollItemProvider

Selon le cas

Tous les éléments de données prennent en charge la capacité de défilement avec le modèle ScrollItem lorsque leur conteneur de données contient un nombre d'éléments supérieur à la capacité d'affichage de l'écran.

ISelectionItemProvider

Oui

Tous les éléments de données doivent prendre en charge le modèle SelectionItem pour indiquer quand l'élément est sélectionné.

ITableItemProvider

Selon le cas

Si l'élément de données est contenu dans un type de contrôle Data Grid, il prendra en charge ce modèle.

IToggleProvider

Selon le cas

Si l'élément de données contient un état qui peut être parcouru.

IValueProvider

Selon le cas

Si le texte principal de l'élément de données est modifiable, le modèle Value doit être pris en charge.

Utilisation d'éléments de données dans les longues listes

Les longues listes sont souvent des données virtualisées dans des infrastructures d'UI facilitant les performances. Ainsi, un client UI Automation ne peut pas utiliser la fonctionnalité de requête UI Automation pour capturer le contenu de l'arborescence complète de la même façon que dans d'autres conteneurs d'éléments. Un client doit faire défiler l'élément dans la vue (ou développer le contrôle pour afficher toutes les options pertinentes) avant d'accéder au jeu complet d'informations de l'élément de données.

Lors de l'appel de SetFocus sur l'élément UI Automation pour l'élément de données, le cas Microsoft Windows Explorer sera correctement retourné et provoquera l'affectation de la valeur Edit au focus dans le sous-arbre d'élément de données.

É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 d'élément 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

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

Obligatoire

Aucun

StructureChangedEvent

Obligatoire

Aucun

InvokedEvent

Selon le cas

Aucun

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

Selon le cas

Aucun

ElementAddedToSelectionEvent

Obligatoire

Aucun

ElementRemovedFromSelectionEvent

Obligatoire

Aucun

ElementSelectedEvent

Obligatoire

Aucun

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

Selon le cas

Aucun

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

Selon le cas

Aucun

Exemple de type de contrôle DataItem

L'image suivante illustre un type de contrôle DataItem dans un contrôle List View avec prise en charge des informations détaillées pour les colonnes.

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 d'élément de données sont affichés ci-dessous. Les modèles de contrôle de chaque élément Automation sont mis entre parenthèses. Le groupe « Contoso » fait également partie de la grille du contrôle hôte Data Grid.

Arborescence UI Automation - Affichage de contrôle

Arborescence UI Automation - Affichage du contenu

  • Group "Contoso" (Table, Grid)

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

  • Image "Accounts Receivable.doc"

  • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")

  • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")

  • Edit "Size" (GridItem, TableItem, Value "11.0 KB)

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

  • ...

  • Group "Contoso" (Table, Grid)

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

  • Image "Accounts Receivable.doc"

  • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")

  • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")

  • Edit "Size" (GridItem, TableItem, Value "11.0 KB)

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

Si une grille représente une liste d'éléments sélectionnables, les éléments d'interface correspondants peuvent être exposés avec le type de contrôle ListItem au lieu du type de contrôle DataItem. Dans l'exemple précédent, les éléments DataItem ("Accounts Receivable.doc" et "Accounts Payable.doc") sous Group ("Contoso") peuvent être améliorés en les exposant en tant que types de contrôle ListItem car ce type prend déjà en charge le modèle de contrôle SelectionItem.

Voir aussi

Référence

DataItem

Concepts

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

Vue d'ensemble d'UI Automation