Steuerelementmuster für Benutzeroberflächenautomatisierung für ClientsUI Automation Control Patterns for Clients

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten BenutzeroberflächenautomatisierungUI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.This documentation is intended for .NET Framework developers who want to use the managed BenutzeroberflächenautomatisierungUI Automation classes defined in the System.Windows.Automation namespace. Die neuesten Informationen zu BenutzeroberflächenautomatisierungUI Automationfinden Sie unter Windows Automation-API: Automatisierungder Benutzeroberfläche.For the latest information about BenutzeroberflächenautomatisierungUI Automation, see Windows Automation API: UI Automation.

Diese Übersicht enthält Steuerelementmuster für Benutzeroberflächenautomatisierungs-Clients.This overview introduces control patterns for UI Automation clients. Es sind Informationen dazu enthalten, wie ein Benutzeroberflächenautomatisierungs-Client Steuerelementmuster nutzen kann, um auf Informationen über die Benutzeroberfläche (User Interface, UI)user interface (UI) zugreifen zu können.It includes information on how a UI Automation client can use control patterns to access information about the Benutzeroberfläche (User Interface, UI)user interface (UI).

Steuerelementmuster bieten eine Möglichkeit zum Kategorisieren und Verfügbarmachen der Funktionalität eines Steuerelements, unabhängig vom Typ des Steuerelements oder vom Erscheinungsbild des Steuerelements.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control. Benutzeroberflächenautomatisierungs-Clients können ein AutomationElement untersuchen, um festzulegen, welche Steuerelementmuster unterstützt werden und wie das Verhalten des Steuerelements sein wird.UI Automation clients can examine an AutomationElement to determine which control patterns are supported and be assured of the behavior of the control.

Eine umfassende Liste mit Steuerelement Mustern finden Sie unter UI Automation Control Patterns Overview.For a complete list of control patterns, see UI Automation Control Patterns Overview.

Abrufen von SteuerelementmusternGetting Control Patterns

Clients empfangen ein Steuerelementmuster von einem AutomationElement durch den Aufruf eines AutomationElement.GetCachedPattern oder AutomationElement.GetCurrentPattern.Clients retrieve a control pattern from an AutomationElement by calling either AutomationElement.GetCachedPattern or AutomationElement.GetCurrentPattern.

Clients können die GetSupportedPatterns-Methode oder eine einzelne IsPatternAvailable-Eigenschaft (z. B. IsTextPatternAvailableProperty) nutzen, um zu bestimmen, ob ein Muster oder eine Gruppe von Mustern im AutomationElement unterstützt wird.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. Es ist jedoch effizienter, zu versuchen, das Steuerelementmuster abzurufen und zu prüfen, ob ein null-Verweis vorliegt als die unterstützten Eigenschaften zu überprüfen und das Steuerelementmuster abzurufen, da dies zu weniger prozessübergreifenden Aufrufen führt.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.

Das folgende Beispiel zeigt den Abruf eines TextPattern-Steuerelementmusters aus einem 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;
}

Abrufen von Eigenschaften in SteuerelementmusternRetrieving Properties on Control Patterns

Clients können die Eigenschaftswerte in Steuerelementmustern durch Aufrufen von AutomationElement.GetCachedPropertyValue oder AutomationElement.GetCurrentPropertyValue abrufen und das zurückgegebene Objekt in einen geeigneten Typ umwandeln.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. Weitere Informationen zu BenutzeroberflächenautomatisierungUI Automation Eigenschaften finden Sie unter UI Automation Properties for Clients.For more information on BenutzeroberflächenautomatisierungUI Automation properties, see UI Automation Properties for Clients.

Zusätzlich zu den GetPropertyValue -Methoden können Eigenschaftswerte über die Common Language Runtime (CLR)-Accessoren abgerufen werden, um BenutzeroberflächenautomatisierungUI Automation auf die Eigenschaften eines Musters zuzugreifen.In addition to the GetPropertyValue methods, property values can be retrieved through the common language runtime (CLR) accessors to access the BenutzeroberflächenautomatisierungUI Automation properties on a pattern.

Steuerelemente mit VariablenmusternControls with Variable Patterns

Einige Steuerelementtypen unterstützen unterschiedliche Muster, abhängig vom entsprechenden Status oder der Art und Weise, wie das Steuerelement verwendet wird.Some control types support different patterns depending on their state or the manner in which the control is being used. Beispiele für Steuerelemente mit Variablenmustern sind Listenansichten (Miniaturansichten, Kacheln, Symbole, Liste, Details), Microsoft ExcelMicrosoft Excel-Diagramme (Kreisdiagramm, Liniendiagramm, Balkendiagramm, Zellwert mit einer Formel), Microsoft WordMicrosoft Word-Dokumentbereich (Normal, Weblayout, Gliederung, Seitenlayout, Seitenansicht) und Microsoft Windows Media PlayerMicrosoft Windows Media Player-Designs.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 Microsoft Windows Media PlayerMicrosoft Windows Media Player skins.

Steuerelemente, die benutzerdefinierte Steuerelementtypen implementieren, können über einen beliebigen Satz von Steuerelementmustern verfügen, die zur Darstellung der entsprechenden Funktionalität erforderlich sind.Controls implementing custom control types can have any set of control patterns that are needed to represent their functionality.

Siehe auchSee also