Modèles de contrôle UI Automation pour les clientsUI Automation Control Patterns for Clients

Notes

Cette documentation s'adresse aux développeurs .NET Framework qui souhaitent utiliser les classes Automation de l'interface utilisateurUI Automation managées définies dans l'espace de noms System.Windows.Automation.This documentation is intended for .NET Framework developers who want to use the managed Automation de l'interface utilisateurUI Automation classes defined in the System.Windows.Automation namespace. Pour obtenir les informations les Automation de l'interface utilisateurUI Automationplus récentes sur, consultez API Windows Automation: UI Automation.For the latest information about Automation de l'interface utilisateurUI Automation, see Windows Automation API: UI Automation.

Cette vue d’ensemble présente des modèles de contrôle pour les clients UI Automation.This overview introduces control patterns for UI Automation clients. Elle inclut des informations sur la façon dont un client UI Automation peut utiliser des modèles de contrôle pour accéder aux informations sur l’interface utilisateur (UI)user interface (UI).It includes information on how a UI Automation client can use control patterns to access information about the interface utilisateur (UI)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.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control. 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.UI Automation clients can examine an AutomationElement to determine which control patterns are supported and be assured of the behavior of the control.

Pour obtenir la liste complète des modèles de contrôle, consultez UI Automation Control patterns Overview.For a complete list of control patterns, see UI Automation Control Patterns Overview.

Obtention de modèles de contrôleGetting Control Patterns

Les clients récupèrent un modèle de contrôle d'un AutomationElement en appelant AutomationElement.GetCachedPattern ou AutomationElement.GetCurrentPattern.Clients retrieve a control pattern from an AutomationElement by calling either AutomationElement.GetCachedPattern or 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 un groupe de modèles est pris en charge sur AutomationElement.Clients can use the GetSupportedPatterns method or an individual IsPatternAvailable property (for example, IsTextPatternAvailableProperty) to determine if a pattern or group of patterns is supported on the 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.However, it is more efficient to attempt to get the control pattern and test for a null reference than to check the supported properties and retrieve the control pattern since it results in fewer cross-process calls.

L'exemple suivant montre comment obtenir un modèle de contrôle TextPattern d'un AutomationElement.The following example demonstrates how to get a TextPattern control pattern from an 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ôleRetrieving Properties on Control Patterns

Les clients peuvent récupérer les valeurs de propriété sur les 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é.Clients can retrieve the property values on control patterns by calling either AutomationElement.GetCachedPropertyValue or AutomationElement.GetCurrentPropertyValue and casting the object returned to an appropriate type. Pour plus d’informations Automation de l'interface utilisateurUI Automation sur les propriétés, consultez UI Automation Properties for clients.For more information on Automation de l'interface utilisateurUI Automation properties, see UI Automation Properties for Clients.

Outre les GetPropertyValue méthodes, les valeurs de propriété peuvent être récupérées par le biais des accesseurs Common Language Runtime (CLR) Automation de l'interface utilisateurUI Automation pour accéder aux propriétés sur un modèle.In addition to the GetPropertyValue methods, property values can be retrieved through the common language runtime (CLR) accessors to access the Automation de l'interface utilisateurUI Automation properties on a pattern.

Contrôles avec modèles variablesControls with Variable Patterns

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é.Some control types support different patterns depending on their state or the manner in which the control is being used. 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 ExcelMicrosoft Excel (secteur, ligne, barre, valeur d'une cellule avec une formule), la zone de document Microsoft WordMicrosoft Word (affichage normal, mode web, mode Plan, mode Impression, Aperçu avant impression) et les apparences du Lecteur Windows Media MicrosoftMicrosoft Windows Media Player.Examples of controls that can have variable patterns are list views (thumbnails, tiles, icons, list, details), Microsoft ExcelMicrosoft Excel Charts (Pie, Line, Bar, Cell Value with a formula), Microsoft WordMicrosoft Word's document area (Normal, Web Layout, Outline, Print Layout, Print Preview), and Lecteur Windows Media MicrosoftMicrosoft Windows Media Player skins.

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.Controls implementing custom control types can have any set of control patterns that are needed to represent their functionality.

Voir aussiSee also