Vue d'ensemble des modèles de contrôle UI Automation
Remarque |
---|
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 vue d'ensemble présente des 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.
UI Automation 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 vues liste ou les zones de liste déroulante). Étant donné que chaque modèle de contrôle représente une fonctionnalité distincte, il est possible de les combiner pour décrire le jeu complet de fonctionnalités prises en charge par un contrôle spécifique.
Remarque |
---|
Les contrôles d'agrégat (générés avec des contrôles enfants qui fournissent l'user interface (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 implémentés par les contrôles enfants. |
Cette rubrique comprend les sections suivantes.
- Composants des modèles de contrôle UI Automation
- Fournisseurs et clients UI Automation
- Modèles de contrôle dynamique
- Interfaces et classes du modèle de contrôle
- Rubriques connexes
Composants des modèles de contrôle UI Automation
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 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 UI Automation.
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'UI comme les interfaces sont liées aux objets Component Object Model (COM). 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 UI Automation, 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.
Fournisseurs et clients UI Automation
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 du modèle de contrôle UI Automation et les utilisent pour obtenir des informations sur l'UI ou manipuler l'UI. Ces classes du 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 UI Automation dans 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.
Modèles de contrôle dynamique
Certains contrôles ne prennent pas toujours en charge le même jeu de modèles de contrôle. On considère que les modèles de contrôle sont 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 qu'on ne peut en afficher dans 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 selon l'état actuel du contrôle (la quantité de texte présente dans la zone d'édition).
Interfaces et classes du modèle de contrôle
Le tableau suivant décrit les modèles de contrôle UI Automation. Le tableau 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 |
---|---|---|
Utilisé 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. |
||
Utilisé 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. |
||
Utilisé 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, mode Grandes icônes dans l'Explorateur Windows ou tableaux simples sans en-têtes dans Microsoft Word. |
||
Utilisé 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 Microsoft Windows Explorer. |
||
Utilisé pour les contrôles qui peuvent être appelés, tels qu'un bouton. |
||
Utilisé pour les contrôles qui peuvent basculer entre plusieurs représentations du même jeu 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. |
||
Utilisé 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 de 1900 à 2010, alors qu'un autre contrôle Spinner représentant des mois aura une plage de 1 à 12. |
||
Utilisé pour les contrôles qui peuvent défiler. Par exemple, un contrôle qui dispose de barres de défilement actives lorsque la quantité d'informations est trop importante pour être affichée dans la zone affichable du contrôle. |
||
Utilisé 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. |
||
Utilisé pour les contrôles conteneur de sélection. Par exemple, les zones de liste et zones de liste déroulante. |
||
Utilisé pour les éléments individuels dans les contrôles conteneur de sélection, tels que les zones de liste et zones de liste déroulante. |
||
Utilisé pour les contrôles qui disposent d'une grille et d'informations d'en-tête. Par exemple, les feuilles de calcul Microsoft Excel. |
||
Utilisé pour les éléments d'un tableau. |
||
Utilisé pour les contrôles d'édition et les documents qui exposent des informations textuelles. |
||
Utilisé pour les contrôles dans lesquels il est possible de faire basculer l'état. Par exemple, les cases à cocher et les éléments de menu sélectionnables. |
||
Utilisé pour les contrôles qui peuvent être redimensionnés, déplacés et pivotés. Les principales utilisations du modèle de contrôle Transform se font dans les applications de conception et de dessin, les formulaires et les éditeurs graphiques. |
||
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 date/heure. |
||
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, Microsoft Windows Explorer, etc.), les fenêtres enfants multiple-document interface (MDI) et les boîtes de dialogue sont des exemples de contrôles qui sont en fait des fenêtres. |
Voir aussi
Concepts
Modèles de contrôle UI Automation pour les clients
Mappage de modèle de contrôle pour les clients UI Automation
Vue d'ensemble d'UI Automation