Partager via


Vue d’ensemble des propriétés d’automatisation de l’interface utilisateur

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 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 les éléments de l’interface utilisateur, en particulier les contrôles, y compris les données statiques et dynamiques.

Cette section fournit une vue d’ensemble générale des propriétés Microsoft UI Automation. Des informations plus spécifiques sont fournies dans les rubriques suivantes :

Identificateurs de propriété

Chaque propriété est identifiée par un nombre et un nom. Les noms des 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. Toutefois, les applications clientes utilisent AutomationPropertyuniquement , qui encapsule le nombre et le nom, pour identifier les propriétés qu’elles souhaitent récupérer.

AutomationProperty les objets représentant 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 par les classes qui contiennent les AutomationPropertyID.

Types de propriétés Les clients obtiennent des ID à partir de Les fournisseurs obtiennent des ID à partir de
Propriétés communes à tous les éléments (voir les tableaux suivants) AutomationElement AutomationElementIdentifiers
Position d’une fenêtre d’ancrage DockPattern DockPatternIdentifiers
État d’un élément qui peut se 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 qui se déplace sur 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 qui peut être sélectionné, comme dans une liste SelectionItemPattern SelectionItemPatternIdentifiers
Propriétés d’un contrôle qui contient des éléments de sélection SelectionPattern SelectionPatternIdentifiers
En-têtes de colonne et de ligne d’un élément d’une table TableItemPattern TableItemPatternIdentifiers
En-têtes de colonne et de ligne 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 capacités de lecture/écriture d'un élément doté d'une valeur ValuePattern ValuePatternIdentifiers
Fonctionnalités et état d’une fenêtre WindowPattern WindowPatternIdentifiers

Propriétés par catégorie

Les tableaux suivants classent les propriétés dont les ID sont trouvés dans AutomationElement et AutomationElementIdentifiers. Ces propriétés sont communes à tous les contrôles. Tous, mais quelques-uns d’entre eux sont susceptibles d’être statiques pendant la durée de vie de l’application fournisseur ; la plupart des propriétés dynamiques sont associées aux modèles de contrôle.

La colonne Accès aux propriétés répertorie tous les autres accesseurs pour chaque propriété, en plus de GetCurrentPropertyValue et GetCachedPropertyValue. Pour plus d'informations sur comment obtenir des propriétés dans une application cliente, consultez Propriétés UI Automation pour les clients.

Remarque

Pour plus d’informations sur chaque propriété, suivez le lien dans la colonne Accès aux propriétés .

Afficher les caractéristiques

Identificateur de propriété Accès à la propriété
BoundingRectangleProperty BoundingRectangle
CultureProperty n/a
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

Identificateur de propriété Accès à la propriété
IsDockPatternAvailableProperty GetSupportedPatterns
IsExpandCollapsePatternAvailableProperty GetSupportedPatterns
IsGridItemPatternAvailableProperty GetSupportedPatterns
IsGridPatternAvailableProperty GetSupportedPatterns
IsInvokePatternAvailableProperty GetSupportedPatterns
IsMultipleViewPatternAvailableProperty GetSupportedPatterns
IsRangeValuePatternAvailableProperty GetSupportedPatterns
IsScrollItemPatternAvailableProperty GetSupportedPatterns
IsScrollPatternAvailableProperty GetSupportedPatterns
IsSelectionItemPatternAvailableProperty GetSupportedPatterns
IsSelectionPatternAvailableProperty GetSupportedPatterns
IsTableItemPatternAvailableProperty GetSupportedPatterns
IsTablePatternAvailableProperty GetSupportedPatterns
IsTextPatternAvailableProperty GetSupportedPatterns
IsTogglePatternAvailableProperty GetSupportedPatterns
IsTransformPatternAvailableProperty GetSupportedPatterns
IsValuePatternAvailableProperty GetSupportedPatterns
IsWindowPatternAvailableProperty GetSupportedPatterns

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

Étroitement lié aux propriétés dans UI Automation est le concept d'événements de changement de propriété. Pour les propriétés dynamiques, l’application cliente a besoin d’un moyen de savoir qu’une valeur de propriété a changé, afin qu’elle puisse mettre à jour son cache d’informations ou réagir aux nouvelles informations d’une autre manière.

Les fournisseurs déclenchent des événements lorsque quelque chose dans l’interface utilisateur change. 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 d’événements ; cela dépend entièrement de l’implémentation du fournisseur d'Automatisation de l'interface utilisateur pour l’élément. Par exemple, les fournisseurs proxy standard pour les zones de liste ne déclenchent pas d’événement lorsque les SelectionProperty modifications sont apportées. Dans ce cas, l’application doit plutôt écouter un ElementSelectedEvent.

Les clients écoutent les événements en s’abonnant à eux. L’abonnement aux événements signifie créer des méthodes déléguées qui peuvent gérer les événements, puis passer les méthodes à UI Automation, ainsi que les événements spécifiques qui seront traités dans ces méthodes. Pour les événements de changement de propriété en particulier, les clients doivent implémenter AutomationPropertyChangedEventHandler.

Voir aussi