Freigeben über


Steuerelementmuster für Benutzeroberflächenautomatisierung für Clients

Hinweis

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

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 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 vollständige Liste der verfügbaren Steuerelementmuster finden Sie unter Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung.

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 den Eigenschaften der Benutzeroberflächenautomatisierung finden Sie unter Eigenschaften der Benutzeroberflächenautomatisierung für Clients.

Zusätzlich zu den GetPropertyValue-Methoden können Eigenschaftswerte über die Common Language Runtime (CLR)-Zugriffsmethoden abgerufen werden, um auf die Benutzeroberflächenautomatisierungs-Eigenschaften in einem Muster 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 mit variablen Mustern sind Listenansichten (Miniaturansichten, Kacheln, Symbole, Liste, Details), Microsoft Excel-Diagramme (Kreisdiagramm, Liniendiagramm, Balkendiagramm, Zellwert mit einer Formel), Microsoft Word-Dokumentbereich (Normal, Weblayout, Gliederung, Seitenlayout, Seitenansicht) und Microsoft Windows Media Player-Designs.

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