Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Cette documentation est destinée aux développeurs .NET Framework qui souhaitent 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.
Les produits de technologie d’assistance et les scripts de test naviguent dans l’arborescence UI Automation pour collecter des informations sur l’interface utilisateur et ses éléments.
Dans l’arborescence UI Automation, il existe un élément racine (RootElement) qui représente le bureau actuel et dont les éléments enfants représentent les fenêtres d’application. Chacun de ces éléments enfants peut contenir des éléments représentant des éléments d’interface utilisateur tels que des menus, des boutons, des barres d’outils et des zones de liste. Ces éléments peuvent à leur tour contenir des éléments tels que des éléments de liste.
L’arborescence UI Automation n’est pas une structure fixe et est rarement vue dans sa totalité, car elle peut contenir des milliers d’éléments. Certaines parties sont générées à mesure qu’elles sont nécessaires et peuvent subir des modifications à mesure que des éléments sont ajoutés, déplacés ou supprimés.
Les fournisseurs UI Automation prennent en charge l’arborescence UI Automation en implémentant la navigation entre les éléments d’un fragment, qui se compose d’une racine (généralement hébergée dans une fenêtre) et d’une sous-arborescence. Toutefois, les fournisseurs ne se préoccupent pas de la navigation d’un contrôle à l’autre. Cela est géré par le cœur UI Automation, à l’aide d’informations provenant des fournisseurs de fenêtres par défaut.
Affichages de l’arborescence Automation
L’arborescence UI Automation peut être filtrée pour créer des vues qui contiennent uniquement ces AutomationElement objets pertinents pour un client particulier. Cette approche permet aux clients de personnaliser la structure présentée via UI Automation en fonction de leurs besoins particuliers.
Le client a deux façons de personnaliser la vue : par délimitation et par filtrage. La portée consiste à définir l’étendue de l’affichage à partir d’un élément de base. Par exemple, l’application peut rechercher uniquement les enfants directs du bureau ou tous les descendants d’une fenêtre de l’application. Le filtrage définit les types d’éléments à inclure dans la vue.
Les fournisseurs UI Automation prennent en charge le filtrage en définissant des propriétés sur des éléments, y compris les propriétés IsControlElementProperty et IsContentElementProperty.
UI Automation fournit trois vues par défaut. Ces vues sont définies par le type de filtrage effectué ; l’étendue d’une vue est définie par l’application. En outre, l’application peut appliquer d’autres filtres sur les propriétés ; par exemple, pour inclure uniquement les contrôles activés dans une vue de contrôle.
Affichage brut
L’affichage brut de l’arborescence UI Automation est l’arborescence complète des objets AutomationElement dont le bureau est la racine. La vue brute suit étroitement la structure programmatique native d’une application et est donc la vue la plus détaillée disponible. C’est aussi la base sur laquelle reposent les autres affichages de l’arborescence. Étant donné que cette vue dépend de l’infrastructure d’interface utilisateur sous-jacente, la vue brute d’un bouton WPF aura une vue brute différente de celle d’un bouton Win32.
La vue brute est obtenue en recherchant des éléments sans spécifier de propriétés ou en utilisant RawViewWalker pour naviguer dans l’arborescence.
Vue contrôle
L’affichage de contrôle de l’arborescence UI Automation permet au produit de technologie d’assistance de décrire plus facilement l’interface utilisateur à l’utilisateur final et d’aider ce dernier à interagir avec l’application, car il s’apparente de près à la structure de l’interface utilisateur perçue par un utilisateur final.
La vue de contrôle est un sous-ensemble de la vue brute. Il inclut tous les éléments de l’interface utilisateur de la vue brute qu’un utilisateur final comprend comme interactif ou contribuant à la structure logique du contrôle dans l’interface utilisateur. Les exemples d’éléments d’interface utilisateur qui contribuent à la structure logique de l’interface utilisateur, mais qui ne sont pas interactifs eux-mêmes, sont des conteneurs d’éléments tels que les en-têtes d’affichage de liste, les barres d’outils, les menus et la barre d’état. Les éléments non interactifs utilisés simplement à des fins de disposition ou décoratifs ne seront pas visibles dans l’affichage contrôle. Un exemple est un panneau qui a été utilisé uniquement pour mettre en place les contrôles dans une boîte de dialogue, mais qui ne contient pas d’informations. Les éléments non interactifs qui seront affichés dans la vue de contrôle sont des graphiques avec des informations et du texte statique dans une boîte de dialogue. Les éléments non interactifs inclus dans la vue de contrôle ne peuvent pas recevoir le focus clavier.
La vue de contrôle est obtenue en recherchant des éléments dont la propriété IsControlElement est définie à true
, ou en utilisant ControlViewWalker pour naviguer dans l’arborescence.
Affichage de contenu
La vue de contenu de l’arborescence UI Automation est un sous-ensemble de la vue de contrôle. Il contient des éléments d’interface utilisateur qui transmettent les informations vraies dans une interface utilisateur, y compris les éléments d’interface utilisateur qui peuvent recevoir le focus clavier et du texte qui n’est pas une étiquette sur un élément d’interface utilisateur. Par exemple, les valeurs d’une zone de liste déroulante s’affichent dans la vue de contenu, car elles représentent les informations utilisées par un utilisateur final. Dans l’affichage de contenu, une boîte de sélection et une zone de liste sont toutes deux représentées sous forme de collection d’éléments UI où un ou plusieurs éléments sont sélectionnables. Le fait que l'une est toujours ouverte et qu'on peut l'étendre et la réduire n'est pas pertinent dans la vue de contenu, car elle est conçue pour afficher les données ou le contenu présenté à l'utilisateur.
La vue de contenu est obtenue en recherchant des éléments dont la propriété IsContentElement est réglée sur true
, ou en utilisant ContentViewWalker pour naviguer dans l'arborescence.
Voir aussi
- AutomationElement
- Vue d’ensemble UI Automation