Steuerelementmuster für Benutzeroberflächenautomatisierung für Clients

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten Benutzeroberflächenautomatisierung-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind. Aktuelle Informationen zur Benutzeroberflächenautomatisierungfinden Sie auf der Seite zur Windows-Automatisierungs-API: UI-Automatisierung.

Diese Übersicht enthält Steuerelementmuster für Benutzeroberflächenautomatisierungs-Clients. Es sind Informationen dazu enthalten, wie ein Benutzeroberflächenautomatisierungs-Client Steuerelementmuster nutzen kann, um auf Informationen über die Benutzeroberfläche (User Interface, UI) zugreifen zu können.

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. Benutzeroberflächenautomatisierungs-Clients können ein AutomationElement untersuchen, um festzulegen, welche Steuerelementmuster unterstützt werden und wie das Verhalten des Steuerelements sein wird.

Eine umfassende Liste mit Steuerelement Mustern finden Sie unter UI Automation Control Patterns Overview.

Abrufen von Steuerelementmustern

Clients empfangen ein Steuerelementmuster von einem AutomationElement durch den Aufruf eines AutomationElement.GetCachedPattern oder 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. 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.

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

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. Weitere Informationen zu Benutzeroberflächenautomatisierung Eigenschaften finden Sie unter 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ächenautomatisierung auf die Eigenschaften eines Musters zuzugreifen.

Steuerelemente mit Variablenmustern

Einige Steuerelementtypen unterstützen unterschiedliche Muster, abhängig vom entsprechenden Status oder der Art und Weise, wie das Steuerelement verwendet wird. Beispiele für Steuerelemente, die über Variablen Muster verfügen können, sind Listenansichten (Miniaturansichten, Kacheln, Symbole, Liste, Details), Microsoft Excel-Diagramme (Kreis, Linie, Balken, Zellwert mit einer Formel), Microsoft Word-Dokumentbereich (normal, Weblayout, Gliederung, Druck Layout, Druckvorschau) und Microsoft 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.

Weitere Informationen