Übersicht über Steuerelementmuster für BenutzeroberflächenautomatisierungUI Automation Control Patterns Overview

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. Aktuelle Informationen zur BenutzeroberflächenautomatisierungUI Automationfinden Sie auf der Seite zur Windows-Automatisierungs-API: UI-Automatisierung.For the latest information about BenutzeroberflächenautomatisierungUI Automation, see Windows Automation API: UI Automation.

In dieser Übersicht werden Microsoft-UI-AutomatisierungMicrosoft UI Automation -Steuerelementmuster vorgestellt.This overview introduces Microsoft-UI-AutomatisierungMicrosoft UI Automation control patterns. 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ächenautomatisierungUI Automation verwendet Steuerelementmuster, um allgemeine Verhaltensweisen von Steuerelementen abzubilden.uses control patterns to represent common control behaviors. 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).For example, you use the Invoke control pattern for controls that can be invoked (such as buttons) and the Scroll control pattern for controls that have scroll bars (such as list boxes, list views, or combo boxes). 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.Because each control pattern represents a separate functionality, they can be combined to describe the full set of functionality supported by a particular control.

Hinweis

Zusammengesetzte Steuerelemente – Steuerelemente, die mit untergeordneten Steuerelementen erstellt wurden, die die Benutzeroberfläche (User Interface, UI)user interface (UI) für Funktionalität bereitstellen, die vom übergeordneten Steuerelement verfügbar gemacht wird – sollten alle Steuerelementmuster implementieren, die normalerweise den untergeordneten Steuerelementen zugewiesen sind.Aggregate controls—built with child controls that provide the Benutzeroberfläche (User Interface, UI)user interface (UI) for functionality exposed by the parent—should implement all control patterns normally associated with each child control. Dagegen ist es nicht erforderlich, dass diese selben Steuerelementmuster durch die untergeordneten Steuerelemente implementiert werden.In turn, those same control patterns are not required to be implemented by the child controls.

Komponenten der Steuerelementmuster für BenutzeroberflächenautomatisierungUI Automation Control Pattern Components

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.Control patterns support the methods, properties, events, and relationships needed to define a discrete piece of functionality available in a control.

  • Die Beziehungen zwischen einem Benutzeroberflächenautomatisierungs-Element und dessen übergeordnetem Element sowie dessen unter- und gleichgeordneten Elementen beschreibt die Struktur des Elements innerhalb der BenutzeroberflächenautomatisierungUI Automation -Struktur.The relationship between a UI Automation element and its parent, children and siblings describes the element's structure within the BenutzeroberflächenautomatisierungUI Automation tree.

  • Die Methoden ermöglichen es Benutzeroberflächenautomatisierungs-Clients, das Steuerelement zu bearbeiten.The methods allow UI Automation clients to manipulate the control.

  • Die Eigenschaften und Ereignisse stellen Informationen zur Funktionalität des Steuerelementmusters sowie zum Status des Steuerelements zur Verfügung.The properties and events provide information about the control pattern's functionality as well as information about the state of the control.

Steuerelement Muster beziehen sich auf UIUI, wenn sich Schnittstellen auf Component Object Model (com)-Objekte beziehen.Control patterns relate to UIUI as interfaces relate to Component Object Model (COM) objects. In com können Sie ein Objekt Abfragen, um zu ermitteln, welche Schnittstellen es unterstützt, und dann diese Schnittstellen verwenden, um auf die Funktionalität zuzugreifen.In COM, you can query an object to ask what interfaces it supports and then use those interfaces to access functionality. In BenutzeroberflächenautomatisierungUI Automationkann 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.In BenutzeroberflächenautomatisierungUI Automation, UI Automation clients can ask a control which control patterns it supports and then interact with the control through the properties, methods, events, and structures exposed by the supported control patterns. Beispielsweise implementiert ein Benutzeroberflächenautomatisierungs-Anbieter für ein mehrzeiliges Bearbeitungsfeld eine IScrollProvider-Schnittstelle.For example, for a multiline edit box, UI Automation providers implement IScrollProvider. 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.When a client knows that an AutomationElement supports the ScrollPattern control pattern, it can use the properties, methods, and events exposed by that control pattern to manipulate the control, or access information about the control.

Benutzeroberflächenautomatisierungs-Anbieter und -ClientsUI Automation Providers and 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.UI Automation providers implement control patterns to expose the appropriate behavior for a specific piece of functionality supported by the control.

Benutzeroberflächenautomatisierungs-Clients verwenden Methoden und Eigenschaften von BenutzeroberflächenautomatisierungUI Automation -Steuerelement-Musterklassen, um Informationen über die UIUIabzurufen oder Änderungen an der UIUIvorzunehmen.UI Automation clients access methods and properties of BenutzeroberflächenautomatisierungUI Automation control pattern classes and use them to get information about the UIUI, or to manipulate the UIUI. Diese Steuerelement-Musterklassen befinden sich im System.Windows.Automation -Namespace (z. B. InvokePattern und SelectionPattern).These control pattern classes are found in the System.Windows.Automation namespace (for example, InvokePattern and SelectionPattern).

Clients verwenden AutomationElement Methoden (z. b. AutomationElement.GetCurrentPropertyValue oder AutomationElement.GetCachedPropertyValue) oder die Common Language Runtime (CLR)-Accessoren, um auf die BenutzeroberflächenautomatisierungUI Automation Eigenschaften eines Musters zuzugreifen.Clients use AutomationElement methods (such as AutomationElement.GetCurrentPropertyValue or AutomationElement.GetCachedPropertyValue) or the common language runtime (CLR) accessors to access the BenutzeroberflächenautomatisierungUI Automation properties on a pattern. Jede Steuerelement Muster Klasse verfügt über einen Feldmember (z. b. InvokePattern.Pattern oder SelectionPattern.Pattern), der das Steuerelement Muster identifiziert und als Parameter an GetCachedPattern oder GetCurrentPattern übergeben werden kann, um dieses Muster für eine AutomationElementabzurufen.Each control pattern class has a field member (for example, InvokePattern.Pattern or SelectionPattern.Pattern) that identifies that control pattern and can be passed as a parameter to GetCachedPattern or GetCurrentPattern to retrieve that pattern for an AutomationElement.

Dynamische SteuerelementmusterDynamic Control Patterns

Einige Steuerelemente unterstützen nicht immer denselben Satz von Steuerelementmustern.Some controls do not always support the same set of control patterns. Steuerelementmuster gelten als unterstützt, wenn sie für einen Benutzeroberflächenautomatisierungs-Client verfügbar sind.Control patterns are considered supported when they are available to a UI Automation client. Beispielsweise ermöglicht ein mehrzeiliges Bearbeitungsfeld nur dann vertikales Scrollen, wenn es mehr Textzeilen enthält, als in seinem Anzeigebereich angezeigt werden können.For example, a multiline edit box enables vertical scrolling only when it contains more lines of text than can be displayed in its viewable area. Scrollen wird deaktiviert, wenn so viel Text entfernt wurde, dass kein Scrollen mehr erforderlich ist.Scrolling is disabled when enough text is removed so that scrolling is no longer required. In diesem Beispiel wird das ScrollPattern-Steuerelementmuster dynamisch je nach aktuellem Zustand des Steuerelements unterstützt (wie viel Text befindet sich im Bearbeitungsfeld).For this example, the ScrollPattern control pattern is dynamically supported depending on the current state of the control (how much text is in the edit box).

Steuerelement-Musterklassen und -SchnittstellenControl Pattern Classes and Interfaces

In der folgenden Tabelle werden die BenutzeroberflächenautomatisierungUI Automation -Steuerelementmuster beschrieben.The following table describes the BenutzeroberflächenautomatisierungUI Automation control patterns. 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.The table also lists the classes used by UI Automation clients to access the control patterns, as well as the interfaces used by UI Automation providers to implement them.

SteuerelementmusterklasseControl Pattern Class AnbieterschnittstelleProvider Interface BeschreibungDescription
DockPattern IDockProvider Wird für Steuerelemente verwendet, die in einem Dockingcontainer angedockt werden können.Used for controls that can be docked in a docking container. Beispielsweise Symbolleisten oder Toolpaletten.For example, toolbars or tool palettes.
ExpandCollapsePattern IExpandCollapseProvider Wird für Steuerelemente verwendet, die erweitert oder reduziert werden können.Used for controls that can be expanded or collapsed. Beispielsweise Menüelemente in einer Anwendung, etwa das Menü Datei .For example, menu items in an application such as the File menu.
GridPattern IGridProvider Wird für Steuerelemente verwendet, die Rasterfunktionen wie z. B. Größenanpassung und Verschieben in eine bestimmte Zelle unterstützen.Used for controls that support grid functionality such as sizing and moving to a specified cell. Beispielsweise die große Symbol Ansicht in Windows-Explorer oder einfache Tabellen ohne Header in Microsoft Word.For example, the large icon view in Windows Explorer or simple tables without headers in Microsoft Word.
GridItemPattern IGridItemProvider Wird für Steuerelemente verwendet, die Zellen innerhalb von Rastern haben.Used for controls that have cells within grids. Die einzelnen Zellen müssen das GridItem-Muster unterstützen.The individual cells should support the GridItem pattern. Beispielsweise jede Zelle in der Detailansicht von Microsoft Windows Explorer.For example, each cell in Microsoft Windows Explorer detail view.
InvokePattern IInvokeProvider Wird für Steuerelemente verwendet, die aufgerufen werden können, etwa Schaltflächen.Used for controls that can be invoked, such as a button.
MultipleViewPattern IMultipleViewProvider Wird für Steuerelemente verwendet, die zwischen mehreren Darstellungen derselben Informationen, Daten oder untergeordneten Elemente wechseln können.Used for controls that can switch between multiple representations of the same set of information, data, or children. Beispielsweise ein Listenansicht-Steuerelement, in dem Daten in einer Miniatur-, Kachel-, Symbol-, Listen- oder Detailansicht verfügbar sind.For example, a list view control where data is available in thumbnail, tile, icon, list, or detail views.
RangeValuePattern IRangeValueProvider Wird für Steuerelemente verwendet, die einen Bereich von Werten haben, die auf das Steuerelement angewendet werden können.Used for controls that have a range of values that can be applied to the control. 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.For example, a spinner control containing years might have a range of 1900 to 2010, while another spinner control presenting months would have a range of 1 to 12.
ScrollPattern IScrollProvider Wird für Steuerelemente verwendet, in denen gescrollt werden kann.Used for controls that can scroll. Beispielsweise ein Steuerelement, das Scrollleisten hat, die nur aktiv sind, wenn mehr Informationen vorhanden sind, als im Anzeigebereich des Steuerelements angezeigt werden können.For example, a control that has scroll bars that are active when there is more information than can be displayed in the viewable area of the control.
ScrollItemPattern IScrollItemProvider Wird für Steuerelemente verwendet, die einzelne Elemente in einer Liste haben, die gescrollt werden kann.Used for controls that have individual items in a list that scrolls. Beispielsweise ein Listensteuerelement, das einzelne Elementen in der Scrollliste hat, etwa ein Kombinationsfeld-Steuerelement.For example, a list control that has individual items in the scroll list, such as a combo box control.
SelectionPattern ISelectionProvider Wird für Auswahlcontainer-Steuerelemente verwendet.Used for selection container controls. Beispielsweise Listen- und Kombinationsfelder.For example, list boxes and combo boxes.
SelectionItemPattern ISelectionItemProvider Wird für einzelne Elemente in Auswahlcontainer-Steuerelementen verwendet, z. B. Listen- und Kombinationsfelder.Used for individual items in selection container controls, such as list boxes and combo boxes.
TablePattern ITableProvider Wird für Steuerelemente verwendet, die sowohl ein Raster als auch Überschrifteninformationen haben.Used for controls that have a grid as well as header information. Beispielsweise Microsoft Excel-Arbeitsblätter.For example, Microsoft Excel worksheets.
TableItemPattern ITableItemProvider Wird für Elemente in einer Tabelle verwendet.Used for items in a table.
TextPattern ITextProvider Wird für Bearbeitungssteuerelemente und Dokumente verwendet, die Textinformationen verfügbar machen.Used for edit controls and documents that expose textual information.
TogglePattern IToggleProvider Wird für Steuerelemente verwendet, deren Zustand umgeschaltet werden kann.Used for controls where the state can be toggled. Beispielsweise Kontrollkästchen und aktivierbare Menüeinträge.For example, check boxes and checkable menu items.
TransformPattern ITransformProvider Wird für Steuerelemente verwendet, die in der Größe geändert, verschoben und gedreht werden können.Used for controls that can be resized, moved, and rotated. Typische Einsatzfälle für das Transform-Steuerelementmuster sind Designer, Formulare, Grafik-Editoren und Zeichnungsanwendung.Typical uses for the Transform control pattern are in designers, forms, graphical editors, and drawing applications.
ValuePattern IValueProvider Ermöglicht Clients das Abrufen oder Festlegen eines Werts für ein Steuerelement, das keinen Wertebereich unterstützt.Allows clients to get or set a value on controls that do not support a range of values. Beispielsweise eine Datums-/Zeitauswahl.For example, a date time picker.
WindowPattern IWindowProvider Macht für Windows spezifische Informationen verfügbar. Dies ist ein grundlegendes Konzept für das Microsoft Windows-Betriebssystem.Exposes information specific to windows, a fundamental concept to the Microsoft Windows operating system. Beispiele für Steuerelemente, die Fenster sind, sind Anwendungsfenster der obersten Ebene (Microsoft Word, Microsoft Windows Explorer usw.), untergeordnete Fenster von Multiple Document Interface (MDI) und Dialogfelder.Examples of controls that are windows are top-level application windows (Microsoft Word, Microsoft Windows Explorer, and so on), multiple-document interface (MDI) child windows, and dialogs.

Siehe auchSee also