Vue d'ensemble des propriétés UI Automation
Notes
Cette documentation s’adresse 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 dernières informations sur UI Automation, consultez API Windows Automation : UI Automation.
Les fournisseurs UI Automation exposent des propriétés sur les éléments Microsoft UI Automation. Ces propriétés permettent aux applications clientes UI Automation de découvrir des informations sur des parties de l’interface utilisateur, en particulier les contrôles (données statiques et dynamiques comprises).
Cette section fournit une vue d’ensemble générale des propriétés Microsoft UI Automation. Des informations plus spécifiques sont disponibles dans les rubriques suivantes :
Identificateurs de propriété
Chaque propriété est identifiée par un numéro et un nom. Les noms de propriétés sont utilisés uniquement pour le débogage et le diagnostic. Les fournisseurs utilisent les ID numériques pour identifier les demandes de propriété entrantes. Les applications clientes, toutefois, utilisent uniquement AutomationProperty, qui encapsule le numéro et le nom, pour identifier les propriétés qu’elles souhaitent récupérer.
Les objetsAutomationProperty qui représentent des propriétés particulières sont disponibles sous forme de champs dans différentes classes. Pour des raisons de sécurité, les fournisseurs UI Automation obtiennent ces objets à partir d’un ensemble distinct de classes contenues dans Uiautomationtypes.dll.
Le tableau suivant catégorise les propriétés selon les classes qui contiennent les AutomationPropertyID.
Types de propriétés | Les clients obtiennent les ID par le biais de | Les fournisseurs obtiennent les ID par le biais de |
---|---|---|
Propriétés communes à tous les éléments (consultez les tableaux suivants) | AutomationElement | AutomationElementIdentifiers |
Position d’une fenêtre d’ancrage | DockPattern | DockPatternIdentifiers |
État d’un élément que vous pouvez développer et réduire | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
Propriétés d’un élément dans une grille | GridItemPattern | GridItemPatternIdentifiers |
Propriétés d’une grille | GridPattern | GridPatternIdentifiers |
Affichage actuel pris en charge d’un élément disposant de plusieurs affichages | MultipleViewPattern | MultipleViewPatternIdentifiers |
Propriétés d’un élément se déplaçant dans une plage de valeurs, comme un curseur | RangeValuePattern | RangeValuePatternIdentifiers |
Propriétés d’une fenêtre de défilement | ScrollPattern | ScrollPatternIdentifiers |
État et conteneur d’un élément pouvant être sélectionné, comme dans une liste | SelectionItemPattern | SelectionItemPatternIdentifiers |
Propriétés d’un contrôle contenant des éléments de sélection | SelectionPattern | SelectionPatternIdentifiers |
En-têtes de ligne et de colonne d’un élément dans une table | TableItemPattern | TableItemPatternIdentifiers |
En-têtes de ligne et de colonne et orientation d’une table | TablePattern | TablePatternIdentifiers |
État d’un contrôle de basculement | TogglePattern | TogglePatternIdentifiers |
Fonctionnalités d’un élément pouvant être déplacé, pivoté ou redimensionné | TransformPattern | TransformPatternIdentifiers |
Valeur et fonctionnalités de lecture/d’écriture d’un élément ayant une valeur | ValuePattern | ValuePatternIdentifiers |
Fonctionnalités et état d’une fenêtre | WindowPattern | WindowPatternIdentifiers |
Propriétés par catégorie
Les tableaux suivants catégorisent les propriétés dont les ID se trouvent dans AutomationElement et AutomationElementIdentifiers. Ces propriétés sont communes à tous les contrôles. Toutefois, certaines d’entre elles sont susceptibles d’être statiques pendant la durée de vie de l’application fournisseur. Les propriétés les plus dynamiques sont associées à des modèles de contrôle.
La colonne Accès à la propriété répertorie tous les autres accesseurs pour chaque propriété, en plus de GetCurrentPropertyValue et GetCachedPropertyValue. Pour plus d’informations sur l’obtention des propriétés d’une application cliente, consultez UI Automation Properties for Clients.
Notes
Pour obtenir des informations spécifiques sur chaque propriété, suivez le lien de la colonne Accès à la propriété .
Caractéristiques d’affichage
Identificateur de propriété | Accès à la propriété |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | Non applicable |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
Type d'élément
Identificateur de propriété | Accès à la propriété |
---|---|
ControlTypeProperty | ControlType |
IsContentElementProperty | IsContentElement |
IsControlElementProperty | IsControlElement |
ItemTypeProperty | ItemType |
LocalizedControlTypeProperty | LocalizedControlType |
Identification
Identificateur de propriété | Accès à la propriété |
---|---|
AutomationIdProperty | AutomationId |
ClassNameProperty | ClassName |
FrameworkIdProperty | FrameworkId |
LabeledByProperty | LabeledBy |
NameProperty | Name |
ProcessIdProperty | ProcessId |
RuntimeIdProperty | GetRuntimeId |
NativeWindowHandleProperty | NativeWindowHandle |
Interaction
Identificateur de propriété | Accès à la propriété |
---|---|
AcceleratorKeyProperty | AcceleratorKey |
AccessKeyProperty | AccessKey |
ClickablePointProperty | GetClickablePoint |
HasKeyboardFocusProperty | HasKeyboardFocus |
IsEnabledProperty | IsEnabled |
IsKeyboardFocusableProperty | IsKeyboardFocusable |
Prise en charge des modèles
Divers
Identificateur de propriété | Accès à la propriété |
---|---|
IsRequiredForFormProperty | IsRequiredForForm |
IsPasswordProperty | IsPassword |
ItemStatusProperty | ItemStatus |
Localisation
Les fournisseurs UI Automation doivent présenter les propriétés suivantes dans la langue du système d’exploitation :
Propriétés et événements
Le concept des événements de modification de propriété est étroitement lié aux propriétés d’UI Automation. Pour les propriétés dynamiques, l’application cliente a besoin d’un moyen de savoir si une valeur de propriété a changé, afin de pouvoir mettre à jour son cache d’informations ou réagir aux nouvelles informations d’une autre manière.
Les fournisseurs déclenchent des événements quand l’interface utilisateur est modifiée. Par exemple, si une case est cochée ou décochée, un événement de modification de propriété est déclenché par l’implémentation du modèle Toggle par le fournisseur. Les fournisseurs peuvent déclencher des événements de manière sélective, selon que les clients écoutent tous les événements ou seulement des événements spécifiques.
Toutes les modifications de propriété ne déclenchent pas nécessairement des événements. Cela dépend entièrement de l’implémentation du fournisseur UI Automation pour l’élément. Par exemple, les fournisseurs de proxys standard pour les zones de liste ne déclenchent pas d’événement quand la propriété SelectionProperty est modifiée. Dans ce cas, l’application doit plutôt écouter un ElementSelectedEvent.
Les clients écoutent des événements en s’y abonnant. L’abonnement à des événements revient à créer des méthodes déléguées capables de gérer les événements et à passer ces méthodes à UI Automation avec les événements spécifiques qu’elles devront traiter. Pour les événements de modification de propriété en particulier, les clients doivent implémenter AutomationPropertyChangedEventHandler.
Voir aussi
- Mise en cache dans les clients UI Automation
- Propriétés UI Automation pour les clients
- Implémentation de fournisseur UI Automation côté serveur
- Rechercher un élément UI Automation basé sur une condition de propriété
- Retourner les propriétés d'un fournisseur UI Automation
- Déclencher des événements à partir d'un fournisseur UI Automation