Partager via


Type de contrôle DataItem

Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle DataItem.

Une entrée dans une liste 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 un 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 la structure d’arborescence, les propriétés, les modèles de contrôle et les événements UI Automation requis pour le type de contrôle DataItem. Les exigences UI Automation s’appliquent à tous les contrôles d’élément de données dans lesquels l’infrastructure/la plateforme d’interface utilisateur intègre la prise en charge d’UI Automation pour les types de contrôle et les modèles de contrôle.

Cette rubrique contient les sections suivantes.

Structure d’arborescence classique

Le tableau suivant illustre un contrôle et une vue de contenu standard de l’arborescence UI Automation qui se rapporte aux contrôles d’élément de données et décrit ce qui peut être contenu dans chaque vue. Pour plus d’informations sur l’arborescence UI Automation, consultez vue d’ensemble de l’arborescence UI Automation.

Vue contrôle Affichage de contenu
  • DataItem
    • Varie (0 ou plus ; peut être structuré dans la hiérarchie)
  • DataItem
    • Varie (0 ou plus ; peut être structuré dans la hiérarchie)

 

Un élément d’élément de données dans une grille de données peut héberger une variété d’objets, y compris 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 de modification. Si l’élément d’élément 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 pertinentes

Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour le type de contrôle DataItem. Pour plus d’informations sur les propriétés UI Automation, consultez Récupération des propriétés à partir d’UI Automation Elements.

UI Automation, propriété Valeur Notes
UIA_AutomationIdPropertyId Consultez les notes. La valeur de cette propriété doit être unique parmi tous les éléments homologues dans la vue brute de l’arborescence UI Automation.
UIA_BoundingRectanglePropertyId Consultez les notes. Rectangle le plus externe qui contient l’ensemble du contrôle.
UIA_ClickablePointPropertyId Consultez les notes. Prise en charge s’il existe un rectangle englobant. Si aucun point dans le rectangle englobant n’est cliquable et que l’élément effectue des tests de positionnement spécialisés, remplacez et fournissez un point cliquable.
UIA_ControlTypePropertyId DataItem
UIA_IsContentElementPropertyId VRAI Le contrôle d’élément de données doit toujours être du contenu.
UIA_IsControlElementPropertyId VRAI Le contrôle d’élément de données doit toujours être un contrôle.
UIA_IsKeyboardFocusablePropertyId Consultez les notes. Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.
UIA_ItemStatusPropertyId Consultez les notes. Si le contrôle contient l’état 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.
UIA_ItemTypePropertyId Consultez les notes. Il s’agit de la valeur de chaîne qui transmet à l’utilisateur final l’objet sous-jacent que l’élément représente. Les exemples incluent « Fichier multimédia » et « Contact ».
UIA_LabeledByPropertyId Zéro Les contrôles d’élément de données n’ont pas d’étiquette de texte statique.
UIA_LocalizedControlTypePropertyId Consultez les notes. Chaîne localisée correspondant au type de contrôle DataItem. La valeur par défaut est « élément de données » pour en-US ou l’anglais (États-Unis).
UIA_NamePropertyId Consultez les notes. Le contrôle d’élément de données contient toujours un élément de texte principal que l’utilisateur reconnaît comme identificateur de l’élément.

 

Modèles de contrôle requis

Le tableau suivant répertorie les modèles de contrôle UI Automation requis pour ê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 Soutien Notes
IExpandCollapseProvider Dépend Si l’élément de données peut être développé ou réduit pour afficher et masquer des informations, le modèle de contrôle ExpandCollapse doit être pris en charge.
IGridItemProvider Dépend Les éléments de données prennent en charge le modèle de contrôle GridItem lorsqu’une collection d’éléments de données est disponible dans un conteneur qui peut être accessible à l’élément dans l’espace.
IScrollItemProvider Dépend Tous les éléments de données prennent en charge la possibilité de faire défiler l’affichage avec le modèle de contrôle ScrollItem ScrollItem lorsque leur conteneur de données a plus d’éléments que possible à l’écran.
ISelectionItemProvider Dépend La possibilité de sélectionner les éléments de données dépend du contenu.
ITableItemProvider Dépend Si l’élément de données est contenu dans un type de contrôle DataGrid qui a un élément d’en-tête, il doit prendre en charge le modèle de contrôle TableItem.
IToggleProvider Dépend Si l’élément de données contient un état qui peut être parcouru, il doit prendre en charge le modèle de contrôle bascule.
IValueProvider Dépend Si le texte principal de l’élément de données est modifiable, le modèle de contrôle valeur doit être pris en charge.

 

Utilisation de DataItems dans des listes volumineuses

Étant donné que les grandes listes sont souvent virtualisées dans les frameworks d’interface utilisateur pour faciliter les performances, un client UI Automation ne peut pas utiliser la fonctionnalité de requête UI Automation pour rechercher 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 en mode affichage (ou développer le contrôle pour afficher toutes les options disponibles) avant d’accéder à l’ensemble complet d’informations à partir de l’élément de données.

Lorsque vous appelez SetFocus sur l’élément UI Automation pour l’élément de données, l’Explorateur Microsoft Windows retourne correctement et provoque la définition du focus sur le contrôle Edit dans la sous-arborescence de l’élément de données.

Événements obligatoires

Le tableau suivant répertorie les événements UI Automation requis pour prendre en charge 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 Notes
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId événement de modification de propriété.
UIA_ExpandCollapseExpandCollapseStatePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle ExpandCollapse, il doit prendre en charge cet événement.
UIA_Invoke_InvokedEventId Si le contrôle prend en charge le modèle de contrôle Invoke, il doit prendre en charge cet événement.
UIA_IsEnabledPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsEnabled, il doit prendre en charge cet événement.
UIA_IsOffscreenPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsOffscreen, il doit prendre en charge cet événement.
UIA_ItemStatusPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété ItemStatus, il doit prendre en charge cet événement.
UIA_NamePropertyId événement de modification de propriété.
UIA_SelectionItem_ElementAddedToSelectionEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem, il doit prendre en charge cet événement.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem, il doit prendre en charge cet événement.
UIA_SelectionItem_ElementSelectedEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem, il doit prendre en charge cet événement.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle bascule, il doit prendre en charge cet événement.
UIA_ValueValuePropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle valeur, il doit prendre en charge cet événement.

 

Exemple de type de contrôle DataItem

L’image suivante illustre un type de contrôle DataItem dans un contrôle d’affichage de liste.

capture d’écran du contrôle d’affichage de liste avec le type de contrôle dataitem

La vue de contrôle et la vue de contenu de l’arborescence UI Automation qui se rapportent au contrôle d’élément de données s’affichent ci-dessous. Les modèles de contrôle pour chaque élément Automation sont affichés entre parenthèses. Le groupe « Contoso » fait également partie de la grille du contrôle hôte de grille de données. Pour obtenir un exemple de structure de grille de niveau supérieur, consultez type de contrôle DataGrid.

Arborescence UI Automation - Vue contrôle Arborescence UI Automation - Affichage contenu
  • Grouper « Contoso » (table, grille)
    • DataItem « Accounts Receivable.doc » (TableItem, GridItem, SelectionItem, Invoke)
      • Image « Comptes Receivable.doc »
      • Modifier « Name » (TableItem, GridItem, Value « Accounts Receivable.doc »)
      • Edit « Date modified » (TableItem, GridItem, Value « 8/25/2006 3:29 PM »)
      • Modifier « Size » (GridItem, TableItem, Value « 11.0 Ko »)
    • DataItem « Accounts Payable.doc » (TableItem, GridItem, SelectionItem, Invoke)
      • ...
  • Grouper « Contoso » (table, grille)
    • DataItem « Accounts Receivable.doc » (TableItem, GridItem, SelectionItem, Invoke)
      • Image « Comptes Receivable.doc »
      • Modifier « Name » (TableItem, GridItem, Value « Accounts Receivable.doc »)
      • Edit « Date modified » (TableItem, GridItem, Value « 8/25/2006 3:29 PM »)
      • Modifier « Size » (GridItem, TableItem, Value « 11.0 Ko »)
    • 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 utilisateur sélectionnables correspondants peuvent être exposés avec l'Type de contrôle ListItem au lieu du type de contrôle DataItem. Dans l’exemple précédent, les éléments DataItem (« Comptes Receivable.doc » et « Comptes Payable.doc ») sous groupe (« 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.

conceptuelle

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

Vue d’ensemble UI Automation