Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung

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.

In dieser Übersicht werden Steuerelementmuster für die Microsoft-Benutzeroberflächenautomatisierung vorgestellt. 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.

Die Benutzeroberflächenautomatisierung verwendet Steuerelementmuster, um allgemeine Verhaltensweisen von Steuerelementen abzubilden. Beispielsweise verwenden Sie das Aufruf-Steuerelementmuster für Steuerelemente, die aufgerufen werden können (etwa Schaltflächen), und das Scroll-Steuerelementmuster für Steuerelemente, die Scrollleisten haben (z. B. Listenfelder, Listenansichten oder Kombinationsfelder). Da mit jedem Steuerelementmuster eine separate Funktionalität abgebildet wird, können diese kombiniert werden, um den gesamten Funktionsumfang zu beschreiben, der von einem bestimmten Steuerelement unterstützt wird.

Hinweis

Zusammengesetzte Steuerelemente – Steuerelemente, die mit untergeordneten Steuerelementen erstellt wurden, die die Benutzeroberfläche für Funktionalität bereitstellen, die vom übergeordneten Steuerelement verfügbar gemacht wird – sollten alle Steuerelementmuster implementieren, die normalerweise den untergeordneten Steuerelementen zugewiesen sind. Dagegen ist es nicht erforderlich, dass diese selben Steuerelementmuster durch die untergeordneten Steuerelemente implementiert werden.

Komponenten der Steuerelementmuster für Benutzeroberflächenautomatisierung

Steuerelementmuster unterstützen die Methoden, Eigenschaften, Ereignisse und Beziehungen, die dazu erforderlich sind, eine bestimmte Funktionalität zu definieren, die in einem Steuerelement verfügbar ist.

  • Die Beziehungen zwischen einem Benutzeroberflächenautomatisierungs-Element und dessen übergeordnetem Element sowie dessen unter- und gleichgeordneten Elementen beschreibt die Struktur des Elements innerhalb der Struktur für die Benutzeroberflächenautomatisierung.

  • Die Methoden ermöglichen es Benutzeroberflächenautomatisierungs-Clients, das Steuerelement zu bearbeiten.

  • Die Eigenschaften und Ereignisse stellen Informationen zur Funktionalität des Steuerelementmusters sowie zum Status des Steuerelements zur Verfügung.

Steuerelementmuster verhalten sich zur Benutzeroberfläche wie Schnittstellen zu COM-Objekten (Component Object Model). In COM können Sie von einem Objekt abfragen, welche Schnittstellen es unterstützt, und dann mithilfe dieser Schnittstellen auf die Funktionen zugreifen. Bei der Benutzeroberflächenautomatisierung kann ein Benutzeroberflächenautomatisierungs-Client ein Steuerelement daraufhin abfragen, welche Steuerelementmuster es unterstützt, und anschließend über die Eigenschaften, Methoden, Ereignisse und Strukturen, die von den unterstützten Steuerelementmustern verfügbar gemacht werden, auf das Steuerelement zugreifen. Beispielsweise implementiert ein Benutzeroberflächenautomatisierungs-Anbieter für ein mehrzeiliges Bearbeitungsfeld eine IScrollProvider-Schnittstelle. Wenn ein Client weiß, dass ein AutomationElement das ScrollPattern -Steuerelementmuster unterstützt, kann er die Eigenschaften, Methoden und Ereignisse, die von diesem Steuerelementmuster verfügbar gemacht werden, dazu verwenden, auf das Steuerelement oder auf Informationen über das Steuerelement zuzugreifen.

Benutzeroberflächenautomatisierungs-Anbieter und -Clients

Benutzeroberflächenautomatisierungs-Anbieter implementieren Steuerelementmuster, um das entsprechende Verhalten für eine bestimmte Funktionalität verfügbar zu machen, die vom Steuerelement unterstützt wird.

Benutzeroberflächenautomatisierungs-Clients verwenden Methoden und Eigenschaften von Steuerelement-Musterklassen für die Benutzeroberflächenautomatisierung, um Informationen über die Benutzeroberfläche abzurufen oder Änderungen an der Benutzeroberfläche vorzunehmen. Diese Steuerelement-Musterklassen befinden sich im System.Windows.Automation -Namespace (z. B. InvokePattern und SelectionPattern).

Clients verwenden AutomationElement-Methoden (z. B. AutomationElement.GetCurrentPropertyValue oder AutomationElement.GetCachedPropertyValue) oder die CLR-Accessoren (Common Language Runtime), um auf die Benutzeroberflächenautomatisierungseigenschaften in einem Muster zuzugreifen. Jede Steuerelementmusterklasse hat einen Feldmember (z. B. InvokePattern.Pattern oder SelectionPattern.Pattern), der das Steuerelementmuster kennzeichnet und als Parameter an GetCachedPattern oder GetCurrentPattern übergeben werden kann, um dieses Muster für ein AutomationElement abzurufen.

Dynamische Steuerelementmuster

Einige Steuerelemente unterstützen nicht immer denselben Satz von Steuerelementmustern. Steuerelementmuster gelten als unterstützt, wenn sie für einen Benutzeroberflächenautomatisierungs-Client verfügbar sind. Beispielsweise ermöglicht ein mehrzeiliges Bearbeitungsfeld nur dann vertikales Scrollen, wenn es mehr Textzeilen enthält, als in seinem Anzeigebereich angezeigt werden können. Scrollen wird deaktiviert, wenn so viel Text entfernt wurde, dass kein Scrollen mehr erforderlich ist. In diesem Beispiel wird das ScrollPattern-Steuerelementmuster dynamisch je nach aktuellem Zustand des Steuerelements unterstützt (wie viel Text befindet sich im Bearbeitungsfeld).

Steuerelement-Musterklassen und -Schnittstellen

In der folgenden Tabelle werden die Steuerelementmuster der Benutzeroberflächenautomatisierung beschrieben. Außerdem werden in dieser Tabelle folgende Elemente aufgeführt: die Klassen, die von Benutzeroberflächenautomatisierungs-Clients für den Zugriff auf die Steuerelementmuster verwendet werden, und die Schnittstellen, die von Benutzeroberflächenautomatisierungs-Anbietern zum Implementieren der Steuerelementmuster verwendet werden.

Steuerelementmusterklasse Anbieterschnittstelle BESCHREIBUNG
DockPattern IDockProvider Wird für Steuerelemente verwendet, die in einem Dockingcontainer angedockt werden können. Beispielsweise Symbolleisten oder Toolpaletten.
ExpandCollapsePattern IExpandCollapseProvider Wird für Steuerelemente verwendet, die erweitert oder reduziert werden können. Beispielsweise Menüelemente in einer Anwendung, etwa das Menü Datei .
GridPattern IGridProvider Wird für Steuerelemente verwendet, die Rasterfunktionen wie z. B. Größenanpassung und Verschieben in eine bestimmte Zelle unterstützen. Beispielsweise die große Symbolansicht in Windows-Explorer oder einfache Tabellen ohne Überschriften in Microsoft.
GridItemPattern IGridItemProvider Wird für Steuerelemente verwendet, die Zellen innerhalb von Rastern haben. Die einzelnen Zellen müssen das GridItem-Muster unterstützen. Beispielsweise jede Zelle in der Detailansicht von Microsoft Windows-Explorer.
InvokePattern IInvokeProvider Wird für Steuerelemente verwendet, die aufgerufen werden können, etwa Schaltflächen.
MultipleViewPattern IMultipleViewProvider Wird für Steuerelemente verwendet, die zwischen mehreren Darstellungen derselben Informationen, Daten oder untergeordneten Elemente wechseln können. Beispielsweise ein Listenansicht-Steuerelement, in dem Daten in einer Miniatur-, Kachel-, Symbol-, Listen- oder Detailansicht verfügbar sind.
RangeValuePattern IRangeValueProvider Wird für Steuerelemente verwendet, die einen Bereich von Werten haben, die auf das Steuerelement angewendet werden können. Beispielsweise kann ein Drehfeld-Steuerelement, das Jahreswerte enthält, einen Bereich von 1900 bis 2010 haben, während ein anderes Drehfeld-Steuerelement, in dem Monate angezeigt werden, den Bereich von 1 bis 12 hat.
ScrollPattern IScrollProvider Wird für Steuerelemente verwendet, in denen gescrollt werden kann. Beispielsweise ein Steuerelement, das Scrollleisten hat, die nur aktiv sind, wenn mehr Informationen vorhanden sind, als im Anzeigebereich des Steuerelements angezeigt werden können.
ScrollItemPattern IScrollItemProvider Wird für Steuerelemente verwendet, die einzelne Elemente in einer Liste haben, die gescrollt werden kann. Beispielsweise ein Listensteuerelement, das einzelne Elementen in der Scrollliste hat, etwa ein Kombinationsfeld-Steuerelement.
SelectionPattern ISelectionProvider Wird für Auswahlcontainer-Steuerelemente verwendet. Beispielsweise Listen- und Kombinationsfelder.
SelectionItemPattern ISelectionItemProvider Wird für einzelne Elemente in Auswahlcontainer-Steuerelementen verwendet, z. B. Listen- und Kombinationsfelder.
TablePattern ITableProvider Wird für Steuerelemente verwendet, die sowohl ein Raster als auch Überschrifteninformationen haben. Beispielsweise Microsoft Excel-Arbeitsblätter.
TableItemPattern ITableItemProvider Wird für Elemente in einer Tabelle verwendet.
TextPattern ITextProvider Wird für Bearbeitungssteuerelemente und Dokumente verwendet, die Textinformationen verfügbar machen.
TogglePattern IToggleProvider Wird für Steuerelemente verwendet, deren Zustand umgeschaltet werden kann. Beispielsweise Kontrollkästchen und aktivierbare Menüeinträge.
TransformPattern ITransformProvider Wird für Steuerelemente verwendet, die in der Größe geändert, verschoben und gedreht werden können. Typische Einsatzfälle für das Transform-Steuerelementmuster sind Designer, Formulare, Grafik-Editoren und Zeichnungsanwendung.
ValuePattern IValueProvider Ermöglicht Clients das Abrufen oder Festlegen eines Werts für ein Steuerelement, das keinen Wertebereich unterstützt. Beispielsweise eine Datums-/Zeitauswahl.
WindowPattern IWindowProvider Macht für bestimmte Fenster spezifische Informationen verfügbar. Hierbei handelt es sich um ein grundlegendes Konzept des Microsoft Windows-Betriebssystems. Beispiele für Steuerelemente, die Fenster sind, sind Anwendungsfenster der obersten Ebene (Microsoft Word, Microsoft Windows-Explorer usw.), untergeordnete MDI-Fenster (Multiple Document Interface) und Dialogfelder.

Weitere Informationen