Vue d'ensemble des propriétés UI Automation

Les fournisseurs microsoft UI Automation exposent des propriétés sur UI Automation éléments. Les propriétés permettent aux applications clientes de récupérer des informations sur les contrôles.

UI Automation expose deux types de propriétés différents : les propriétés des éléments Automation et les propriétés de modèle de contrôle. Les propriétés de l’élément Automation se composent d’un ensemble commun de propriétés, telles que Name, AcceleratorKey et ClassName, qui sont exposées par tous les éléments UI Automation, quel que soit le type de contrôle. La plupart des propriétés des éléments Automation sont des valeurs statiques.

Les propriétés du modèle de contrôle sont celles qui sont exposées par un contrôle qui prend en charge un modèle de contrôle particulier. Chaque modèle de contrôle a un ensemble correspondant de propriétés de modèle de contrôle que le contrôle doit exposer. Par exemple, un contrôle qui prend en charge le modèle de contrôle Grid expose les propriétés ColumnCount et RowCount. La plupart des propriétés de modèle de contrôle sont des valeurs dynamiques.

Cette rubrique contient les sections suivantes.

Identificateurs de propriété

Chaque propriété est identifiée par une valeur numérique PROPERTYID appelée identificateur de propriété (ID). Les fournisseurs et les clients utilisent les ID numériques dans les appels de méthode tels que IRawElementProviderAdviseEvents::AdviseEventAdded et IUIAutomationElement::GetCachedPropertyValue pour identifier les demandes de propriété. Pour obtenir une description détaillée de chaque identificateur de propriété UI Automation, y compris le type de données et la valeur par défaut de chaque propriété, consultez Identificateurs de propriétés.

Valeurs de la propriété

Toutes les propriétés sont en lecture seule, même si certaines peuvent être modifiées à l’aide de méthodes qui agissent sur le contrôle, telles que IDockProvider::SetDockPosition (fournisseur) ou IUIAutomationDockPattern::SetDockPosition (client).

Pour plus d’informations sur la récupération des valeurs de propriété, consultez Récupération des propriétés à partir d’éléments UI Automation.

Propriétés et événements

Le concept d’événements de modification de propriété est étroitement associé aux propriétés dans UI Automation. Pour les propriétés dynamiques, une application cliente a besoin d’un moyen de savoir que la valeur d’une 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 clients peuvent s’inscrire pour écouter les événements modifiés sur n’importe quelle propriété.

Les fournisseurs déclenchent des événements quand l’interface utilisateur est modifiée. Par exemple, si une zone de case activée est sélectionnée ou désactivée, un événement de modification de propriété est déclenché par l’implémentation du fournisseur du modèle de contrôle Bascule. 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 proxy standard pour les zones de liste ne déclenchent pas d’événement de modification de propriété lorsque la propriété Selection change. Dans ce cas, l’application doit écouter l’événement déclenché lorsque la sélection change (UIA_SelectionItem_ElementSelectedEventId).

Les clients écoutent les événements en s’y abonnant, comme décrit dans Abonnement aux événements UI Automation. Pour les événements de modification de propriété en particulier, les clients doivent implémenter IUIAutomationPropertyChangedEventHandler et passer l’interface à IUIAutomation::AddPropertyChangedEventHandler ou IUIAutomation::AddPropertyChangedEventHandlerNativeArray.

Informations de référence

Getcurrentpropertyvalue

GetCurrentPropertyValueEx

Getcachedpropertyvalue

GetCachedPropertyValueEx

Conceptuel

Vue d'ensemble des modèles de contrôle UI Automation

Vue d'ensemble des types de contrôle UI Automation

Vue d'ensemble des événements UI Automation