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 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 complexe que l’élément de liste simple, car il contient des informations plus détaillées.

Les sections suivantes définissent les UI Automation l’arborescence, les propriétés, les modèles de contrôle et les événements requis pour le type de contrôle DataItem. Les exigences UI Automation s’appliquent à tous les contrôles d’élément de données où l’infrastructure/plateforme d’interface utilisateur intègre UI Automation prise en charge des types de contrôles et des modèles de contrôle.

Cette rubrique contient les sections suivantes.

Arborescence standard

Le tableau suivant illustre une vue de contrôle et de contenu classique 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.

Affichage de contrôle Affichage de contenu
  • DataItem
    • Selon le cas (0 ou plus. Peut être structuré dans une hiérarchie)
  • DataItem
    • Selon le cas (0 ou plus. Peut être structuré dans une hiérarchie)

 

Un élément 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 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 UI Automation propriétés, consultez Récupération de propriétés à partir d’éléments UI Automation.

Propriété UI Automation Valeur Notes
UIA_AutomationIdPropertyId Consultez les remarques. 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 remarques. Rectangle externe qui contient l’ensemble du contrôle.
UIA_ClickablePointPropertyId Consultez les remarques. Pris en charge s’il existe un rectangle englobant. Si tous les points du rectangle englobant ne sont pas cliquables et que l’élément effectue des tests de positionnement spécialisés, remplacez et fournissez un point cliquable.
UIA_ControlTypePropertyId DataItem
UIA_IsContentElementPropertyId TRUE Le contrôle d’élément de données doit toujours être du contenu.
UIA_IsControlElementPropertyId TRUE Le contrôle d’élément de données doit toujours être un contrôle.
UIA_IsKeyboardFocusablePropertyId Consultez les remarques. Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.
UIA_ItemStatusPropertyId Consultez les remarques. Si le contrôle contient status mis à jour dynamiquement, cette propriété doit être prise en charge afin qu’une technologie d’assistance puisse recevoir des mises à jour lorsque la status de l’élément change.
UIA_ItemTypePropertyId Consultez 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. Par exemple, « Fichier multimédia » et « Contact ».
UIA_LabeledByPropertyId Null Les contrôles d’élément de données n’ont pas d’étiquette de texte statique.
UIA_LocalizedControlTypePropertyId Consultez les remarques. 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 anglais (États-Unis).
UIA_NamePropertyId Consultez les remarques. 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 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 UI Automation Control Patterns Overview.

Modèle de contrôle Support 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 parcouru d’élément à élément spatialement.
IScrollItemProvider Dépend Tous les éléments de données prennent en charge la possibilité d’être affichés avec le modèle de contrôle ScrollItem lorsque leur conteneur de données contient plus d’éléments que ne peut le faire à 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 Value doit être pris en charge.

 

Utilisation de DataItems dans de grandes listes

Étant donné que les listes volumineuses sont souvent virtualisées dans les infrastructures 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 dans l’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.

Lors de l’appel de SetFocus sur l’élément UI Automation de l’élément de données, Microsoft Windows Explorer retourne correctement et entraîne 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 que les contrôles d’élément de données doivent prendre en charge. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.

É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 Value , 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 d’élément de données

La vue de contrôle et la vue de contenu de l’arborescence UI Automation qui se rapporte au contrôle d’élément de données sont affichées ci-dessous. Les modèles de contrôle de chaque élément Automation sont indiqués entre parenthèses. Le groupe « Contoso » fait également partie de la grille du contrôle hôte de la 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 - Vue Contenu
  • Groupe "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 "25/08/2006 15:29")
      • Modifier « Size » (GridItem, TableItem, Value « 11.0 Ko »)
    • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...
  • Groupe "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 "25/08/2006 15:29")
      • 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 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 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 .

Conceptuel

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

Vue d'ensemble d'UI Automation