Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

UI Automation Control Patterns Overview

 
System_CAPS_noteRemarque

Cette documentation s'adresse aux développeurs .NET Framework qui souhaitent utiliser les classes Automation de l'interface utilisateur managées définies dans l'espace de noms System.Windows.Automation. Pour obtenir les dernières informations sur Automation de l'interface utilisateur, consultez API Windows Automation : UI Automation.

Cette vue d’ensemble présente les modèles de contrôle Microsoft UI Automation. Les modèles de contrôle permettent de catégoriser et d'exposer les fonctionnalités d'un contrôle, indépendamment du type de contrôle ou de l'apparence du contrôle.

Automation de l'interface utilisateur utilise des modèles de contrôle pour représenter les comportements de contrôle courants. Par exemple, vous utilisez le modèle de contrôle Invoke pour les contrôles qui peuvent être appelés (tels que les boutons) et le modèle de contrôle Scroll pour les contrôles qui disposent de barres de défilement (tels que les zones de liste, les affichages de liste ou les zones de liste modifiables). Étant donné que chaque modèle de contrôle représente une fonctionnalité distincte, il est possible de les combiner pour décrire l’ensemble complet de fonctionnalités prises en charge par un contrôle particulier.

System_CAPS_noteRemarque

Les contrôles d’agrégat (générés avec des contrôles enfants qui fournissent l’interface utilisateur (UI) pour les fonctionnalités exposées par le parent) doivent implémenter tous les modèles de contrôle normalement associés à chaque contrôle enfant. Il n’est pas nécessaire que ces mêmes modèles de contrôle soient, à leur tour, implémentés par les contrôles enfants.

 

 

Les modèles de contrôle prennent en charge les méthodes, les propriétés, les événements et les relations nécessaires pour définir une partie discrète des fonctionnalités disponibles dans un contrôle.

  • La relation entre un élément UI Automation et son parent, ses enfants et ses frères décrit la structure de l’élément dans l’arborescence Automation de l'interface utilisateur.

  • Les méthodes permettent aux clients UI Automation de manipuler le contrôle.

  • Les propriétés et les événements fournissent des informations sur les fonctionnalités du modèle de contrôle, ainsi que des informations sur l’état du contrôle.

Les modèles de contrôle sont liés à l’Interface utilisateur de la même manière que les interfaces sont liées aux objets COM (Component Object Model). Dans COM, vous pouvez faire une requête sur un objet pour connaître les interfaces qu’il prend en charge, puis utiliser ces interfaces pour accéder aux fonctionnalités. Dans Automation de l'interface utilisateur, les clients UI Automation peuvent demander à un contrôle les modèles de contrôle qu’il prend en charge, puis interagir avec le contrôle via les propriétés, les méthodes, les événements et les structures exposées par les modèles de contrôle pris en charge. Par exemple, pour une zone d’édition multiligne, les fournisseurs UI Automation implémentent IScrollProvider. Lorsqu’un client sait qu’un AutomationElement prend en charge le modèle de contrôle ScrollPattern, il peut utiliser les propriétés, les méthodes et les événements exposés par ce modèle de contrôle pour manipuler le contrôle ou accéder aux informations concernant le contrôle.

Les fournisseurs UI Automation implémentent des modèles de contrôle pour exposer le comportement approprié d’une partie spécifique des fonctionnalités prises en charge par le contrôle.

Les clients UI Automation accèdent aux méthodes et aux propriétés des classes de modèle de contrôle Automation de l'interface utilisateur et les utilisent pour obtenir des informations sur l’Interface utilisateur ou pour manipuler l’Interface utilisateur. Ces classes de modèle de contrôle se trouvent dans l’espace de noms System.Windows.Automation (par exemple, InvokePattern et SelectionPattern).

Les clients utilisent des méthodes AutomationElement (telles que AutomationElement.GetCurrentPropertyValue ou AutomationElement.GetCachedPropertyValue) ou les accesseurs du Common Language Runtime (CLR) pour accéder aux propriétés Automation de l'interface utilisateur sur un modèle. Chaque classe de modèle de contrôle dispose d’un membre de champ (par exemple, InvokePattern.Pattern  ou SelectionPattern.Pattern) qui identifie ce modèle de contrôle et peut être passé en tant que paramètre à GetCachedPattern ou GetCurrentPattern pour récupérer ce modèle pour un AutomationElement.

Certains contrôles ne prennent pas toujours en charge le même ensemble de modèles de contrôle. Les modèles de contrôle sont considérés comme pris en charge lorsqu’ils sont disponibles pour un client UI Automation. Par exemple, une zone d’édition multiligne ne permet un défilement vertical que lorsqu’elle contient plus de lignes de texte que ne peut en afficher sa zone affichable. Le défilement est désactivé lorsque tout le texte peut s’afficher dans la zone prévue à cet effet. Pour cet exemple, le modèle de contrôle ScrollPattern est pris en charge de manière dynamique en fonction de l’état actuel du contrôle (la quantité de texte présente dans la zone d’édition).

Le tableau suivant décrit les modèles de contrôle Automation de l'interface utilisateur. Il répertorie également les classes utilisées par les clients UI Automation pour accéder aux modèles de contrôle, ainsi que les interfaces utilisées par les fournisseurs UI Automation pour les implémenter.

Classe du modèle de contrôle

Interface du fournisseur

Description

DockPattern 

IDockProvider

Utilisées pour les contrôles qui peuvent être ancrés dans un conteneur d’ancrage. Par exemple, les barres d’outils ou les palettes d’outils.

ExpandCollapsePattern

IExpandCollapseProvider

Utilisées pour les contrôles qui peuvent être développés ou réduits. Par exemple, les éléments de menu dans une application, comme le menu Fichier.

GridPattern

IGridProvider

Utilisées pour les contrôles qui prennent en charge des fonctionnalités de grille telles que le dimensionnement et le déplacement vers une cellule spécifiée. Par exemple, le mode Grandes icônes dans l’Explorateur Windows ou les tableaux simples sans en-têtes dans Microsoft Word.

GridItemPattern

IGridItemProvider

Utilisées pour les contrôles dont les grilles contiennent des cellules. Les cellules individuelles doivent prendre en charge le modèle GridItem. Par exemple, chaque cellule de l’affichage Détails de l’Explorateur Microsoft Windows.

InvokePattern

IInvokeProvider

Utilisées pour les contrôles qui peuvent être appelés, tel qu’un bouton.

MultipleViewPattern

IMultipleViewProvider

Utilisées pour les contrôles qui peuvent basculer entre plusieurs représentations du même ensemble d’informations, de données ou d’enfants. Par exemple, un contrôle list view où les données sont disponibles en affichage Miniatures, Mosaïques, Icônes, Liste ou Détails.

RangeValuePattern

IRangeValueProvider

Utilisées pour les contrôles disposant d’une plage de valeurs qui peut s’appliquer au contrôle. Par exemple, un contrôle spinner contenant des années peut avoir une plage comprise entre 1900 et 2010, alors qu’un autre contrôle spinner représentant des mois aura une plage comprise entre 1 et 12.

ScrollPattern

IScrollProvider

Utilisées pour les contrôles qui peuvent défiler. Par exemple, un contrôle disposant de barres de défilement qui sont actives lorsque la quantité d’informations est trop importante pour être affichée dans la zone affichable du contrôle.

ScrollItemPattern

IScrollItemProvider

Utilisées pour les contrôles qui disposent d’éléments individuels dans une liste déroulante. Par exemple, un contrôle de liste qui dispose d’éléments individuels dans la liste déroulante, comme un contrôle zone de liste déroulante.

SelectionPattern

ISelectionProvider

Utilisées pour les contrôles conteneur de sélection. Par exemple, les zones de liste et zones de liste modifiable.

SelectionItemPattern

ISelectionItemProvider

Utilisées pour les éléments individuels dans les contrôles conteneur de sélection, tels que les zones de liste et zones de liste modifiables.

TablePattern

ITableProvider

Utilisées pour les contrôles qui disposent d’une grille ainsi que d’informations d’en-tête. Par exemple, les feuilles de calcul Microsoft Excel.

TableItemPattern

ITableItemProvider

Utilisées pour les éléments d’une table.

TextPattern

ITextProvider

Utilisées pour les contrôles d’édition et les documents qui exposent des informations textuelles.

TogglePattern

IToggleProvider

Utilisées pour les contrôles dont l’état peut être activé et désactivé. Par exemple, les cases à cocher et les éléments de menu pouvant être activés.

TransformPattern

ITransformProvider

Utilisées pour les contrôles qui peuvent être redimensionnés, déplacés et pivotés. Les utilisations courantes du modèle de contrôle Transform se font dans les concepteurs, les formulaires les éditeurs graphiques et les applications de dessin.

ValuePattern

IValueProvider

Permet aux clients d’obtenir ou de définir une valeur sur des contrôles qui ne prennent pas en charge une plage de valeurs. Par exemple, un sélecteur de date et heure.

WindowPattern

IWindowProvider

Expose des informations spécifiques aux fenêtres, un concept fondamental du système d’exploitation Microsoft Windows. Les fenêtres d’application de niveau supérieur (Microsoft Word, Explorateur Microsoft Windows, etc.), les fenêtres enfants d’interface multidocument (MDI) et les boîtes de dialogue sont des exemples de contrôles qui sont en fait des fenêtres.

Afficher: