Partager via


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

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'UI Automation pour le type de contrôle List . 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 .

Le type de contrôle List offre une manière d'organiser un ou des groupes d'éléments à deux dimensions et permet à un utilisateur de sélectionner un ou plusieurs de ces éléments. Le type de contrôle List présente une faible restriction sur les types d'éléments enfants qu'il peut contenir. Cela permet aux fournisseurs UI Automation de prendre en charge un élément connu pour les conteneurs de sélection.

Les spécifications UI Automation des sections suivantes s'appliquent à tous les contrôles qui implémentent le type de contrôle List, qu'il s'agisse de Windows Presentation Foundation (WPF), Win32 ou Windows Forms. Les contrôles conteneur de liste sont un exemple de contrôles qui implémentent le type de contrôle List.

Cette rubrique comprend les sections suivantes.

  • Arborescence UI Automation requise
  • Propriétés UI Automation requises
  • Modèles de contrôle et propriétés UI Automation requis
  • Événements UI Automation requis
  • Rubriques connexes

Arborescence UI Automation requise

Le tableau suivant représente les deux affichages de l'arborescence UI Automation concernant les contrôles de liste et décrit ce qui peut être inclus dans chaque affichage. L'affichage de contrôle contient uniquement les éléments qui sont des contrôles et l'affichage du contenu supprime les informations redondantes de l'arborescence. Par exemple, un contrôle de texte utilisé pour étiqueter une zone de liste déroulante sera exposé comme ComboBox NameProperty. Étant donné que le contrôle de texte est déjà exposé de cette manière via l'affichage de contrôle, il est inutile qu'il soit exposé deux fois ; par conséquent, il est supprimé de l'affichage du contenu. Pour plus d'informations sur l'arborescence UI Automation, consultez Vue d'ensemble de l'arborescence UI Automation.

Affichage de contrôle

Affichage du contenu

Contient les éléments qui correspondent aux contrôles.

Supprime les informations redondantes de l'arborescence de sorte que les technologies d'assistance utilisent le plus petit jeu d'informations explicites pour l'utilisateur final.

Liste

  • DataItem (0 ou plus)

  • ListItem (0 ou plus)

  • Group (0 ou plus)

  • ScrollBar (0, 1 ou 2)

Liste

  • DataItem (0 ou plus)

  • ListItem (0 ou plus)

  • Group (0 ou plus)

L'affichage de contrôle pour un contrôle qui implémente le type de contrôle List (tel qu'un contrôle de liste) est composé de :

  • zéro ou plusieurs éléments dans le contrôle de liste (les éléments peuvent être basés sur les types de contrôle d'élément de liste ou d'élément de données) ;

  • zéro ou plusieurs contrôles de groupe dans un contrôle de liste ;

  • zéro, un ou deux contrôles de barre de défilement.

L'affichage du contenu d'un contrôle qui implémente le type de contrôle List (tel qu'un contrôle de liste) est composé de :

  • zéro ou plusieurs éléments dans le contrôle de liste (les éléments peuvent être basés sur les types de contrôle d'élément de liste ou d'élément de données) ;

  • zéro ou plusieurs groupes dans le contrôle de liste ;

Un contrôle de liste ne doit pas inclure d'éléments ayant une relation hiérarchique autre que le fait d'être regroupés. Si les éléments ont des enfants dans l'arborescence UI Automation, le conteneur de liste doit être basé sur le type de contrôle Tree.

Les éléments sélectionnables dans le contrôle de liste seront disponibles depuis les descendants dans l'arborescence UI Automation du contrôle de liste. Tous les éléments du contrôle de liste doivent appartenir au même groupe de sélection. Les éléments sélectionnables dans la liste doivent être exposés en tant que types de contrôle ListItem (au lieu de DataItem).

Propriétés UI Automation requises

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

Propriété UI Automation

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.

Si le contrôle de liste inclut un point interactif (un point sur lequel l'utilisateur peut cliquer pour que la liste prenne le focus), ce point doit être exposé via cette propriété.

Si la valeur de la propriété IsOffScreen est true, NoClickablePointException sera déclenchée.

IsKeyboardFocusableProperty

Consulter les remarques.

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

NameProperty

Consulter les remarques.

La valeur de la propriété Name d'un contrôle de liste doit transmettre la catégorie d'options dans laquelle l'utilisateur doit effectuer une sélection. Le nom de cette propriété correspond en général à une étiquette de texte statique. Si aucune étiquette de texte statique n'est présente, le développeur d'application doit exposer une valeur pour la propriété Name.

Seul cas dans lequel cette propriété n'est pas requise pour les contrôles de liste : si le contrôle est utilisé dans le sous-arbre d'un autre contrôle.

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.

ControlTypeProperty

Liste

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

LocalizedControlTypeProperty

"list"

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

IsContentElementProperty

True

Le contrôle de liste est toujours inclus dans l'affichage du contenu de l'arborescence UI Automation.

IsControlElementProperty

True

Le contrôle de liste est toujours inclus dans l'affichage de contrôle de l'arborescence UI Automation.

IsKeyboardFocusableProperty

True

Si le conteneur peut accepter l'entrée au clavier, cette valeur de propriété doit être true.

HelpTextProperty

Consulter les remarques.

Le texte d'aide pour les contrôles de liste doit expliquer pourquoi l'utilisateur est invité à faire un choix dans une liste d'options. Par exemple, « La sélection d'un élément de cette liste définira la résolution de votre moniteur ».

Modèles de contrôle et propriétés UI Automation requis

Le tableau suivant répertorie les modèles de contrôle UI Automation qui doivent être pris en charge par les contrôles de liste. 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 / Propriété du modèle

Prise en charge / Valeur

Remarques

ISelectionProvider

Obligatoire

Tous les contrôles qui prennent en charge le type de contrôle List doivent implémenter ISelectionProvider lorsqu'un état de sélection est maintenu entre les éléments contenus dans le contrôle. Si les éléments du conteneur ne sont pas sélectionnables, le type de contrôle Group doit être utilisé.

IsSelectionRequired

Selon le cas

Les contrôles de liste ne requièrent pas toujours la sélection d'un élément.

CanSelectMultiple

Selon le cas

Les contrôles de liste peuvent être des conteneurs à sélection unique ou multiple.

IScrollProvider

Selon le cas

Implémentez ce modèle de contrôle si les éléments du conteneur sont déroulants.

IGridProvider

Selon le cas

Implémentez ce modèle lorsque la navigation de la grille doit être disponible élément par élément.

IMultipleViewProvider

Selon le cas

Implémentez ce modèle de contrôle si le contrôle peut prendre en charge plusieurs affichages des éléments dans le conteneur.

ITableProvider

Jamais

ITableProvider n'est jamais pris en charge pour le type de contrôle List. Si le contrôle doit prendre en charge ce modèle de contrôle, le contrôle doit être basé sur le type de contrôle Data Grid.

É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 liste. Pour plus d'informations sur les événements, consultez Vue d'ensemble des événements UI Automation.

Événement UI Automation

Prise en charge/Valeur

Remarques

InvalidatedEvent

Selon le cas

Aucun

LayoutInvalidatedEvent

Selon le cas

Aucun

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

Obligatoire

Aucun

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

Obligatoire

Aucun

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

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

Aucun

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

Selon le cas

Aucun

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

Selon le cas

Aucun

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

Selon le cas

Aucun

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

Selon le cas

Aucun

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

Selon le cas

Aucun

AutomationFocusChangedEvent

Obligatoire

Aucun

StructureChangedEvent

Obligatoire

Aucun

Voir aussi

Référence

List

Concepts

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

Vue d'ensemble d'UI Automation