Modèles de contrôle UI Automation pour les clients

RemarqueRemarque

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 pour des clients UI Automation. Elle inclut des informations sur la manière dont un client UI Automation peut utiliser des modèles de contrôle pour accéder aux informations concernant l'user interface (UI).

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. Les clients UI Automation peuvent examiner un AutomationElement pour déterminer les modèles de contrôle pris en charge et s'assurer du comportement du contrôle.

Pour obtenir une liste exhaustive des modèles de contrôle, consultez Vue d'ensemble des modèles de contrôle UI Automation.

Cette rubrique comprend les sections suivantes.

  • Obtention de modèles de contrôle
  • Récupération de propriétés sur des modèles de contrôle
  • Contrôles avec modèles variables
  • Rubriques connexes

Obtention de modèles de contrôle

Les clients récupèrent un modèle de contrôle d'un AutomationElement en appelant AutomationElement.GetCachedPattern ou AutomationElement.GetCurrentPattern.

Les clients peuvent utiliser la méthode GetSupportedPatterns ou une propriété IsPatternAvailable individuelle (par exemple, IsTextPatternAvailableProperty) pour déterminer si un modèle ou groupe de modèles est pris en charge sur AutomationElement. Toutefois, il est plus efficace d'essayer d'obtenir le modèle de contrôle et de tester une référence null que de vérifier les propriétés prises en charge et de récupérer le modèle de contrôle, car cela entraîne moins d'appels interprocessus.

L'exemple suivant montre comment obtenir un modèle de contrôle TextPattern d'un AutomationElement.

// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

if (targetTextPattern == null)
{
    Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
    return;
}

Récupération de propriétés sur des modèles de contrôle

Les clients peuvent récupérer les valeurs de propriété sur des modèles de contrôle en appelant AutomationElement.GetCachedPropertyValue ou AutomationElement.GetCurrentPropertyValue et en effectuant le cast de l'objet retourné en un type approprié. Pour plus d'informations sur les propriétés UI Automation, consultez Propriétés UI Automation pour les clients.

En plus des méthodes GetPropertyValue, les valeurs de propriété peuvent être récupérées via les accesseurs common language runtime (CLR) pour accéder aux propriétés UI Automation sur un modèle.

Contrôles avec modèles variables

Certains types de contrôles prennent en charge différents modèles selon leur état ou la manière dont le contrôle est utilisé. Les exemples de contrôles qui peuvent avoir des modèles variables incluent les vues Liste (miniatures, mosaïques, icônes, liste, détails), les graphiques Microsoft Excel (secteur, ligne, barre, valeur d'une cellule avec une formule), la zone de document Microsoft Word (affichage normal, mode Web, mode Plan, mode Impression, Aperçu avant impression) et les apparences Microsoft Windows Media Player.

Les contrôles implémentant des types de contrôles personnalisés peuvent disposer de n'importe quel jeu de modèles de contrôle nécessaires pour représenter leurs fonctionnalités.

Voir aussi

Tâches

Appeler un contrôle à l'aide d'UI Automation

Obtenir l'état bascule d'une case à cocher à l'aide d'UI Automation

ValuePattern Insert Text Sample

TextPattern Search and Selection Sample

InvokePattern, ExpandCollapsePattern, and TogglePattern Sample

Concepts

Mappage de modèle de contrôle pour les clients UI Automation

Autres ressources

Modèles de contrôle UI Automation

Modèle de texte UI Automation