Übersicht über die Benutzeroberflächenautomatisierungs-StrukturUI Automation Tree 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. 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.

Hilfstechnologieprodukte und Testskripts navigieren durch die BenutzeroberflächenautomatisierungUI Automation-Struktur, um Informationen über die Benutzeroberfläche (User Interface, UI)user interface (UI) und deren Elemente zu sammeln.Assistive technology products and test scripts navigate the BenutzeroberflächenautomatisierungUI Automation tree to gather information about the Benutzeroberfläche (User Interface, UI)user interface (UI) and its elements.

Innerhalb der BenutzeroberflächenautomatisierungUI Automation -Struktur befindet sich ein root-RootElementElement (), das den aktuellen Desktop darstellt und dessen untergeordnete Elemente Anwendungsfenster darstellen.Within the BenutzeroberflächenautomatisierungUI Automation tree there is a root element (RootElement) that represents the current desktop and whose child elements represent application windows. Jedes dieser untergeordneten Elemente kann Elemente enthalten, die Komponenten der UIUI darstellen, z. B. Menüs, Schaltflächen, Symbolleisten und Listenfelder.Each of these child elements can contain elements representing pieces of UIUI such as menus, buttons, toolbars, and list boxes. Diese Elemente können wiederum Elemente, etwa Listeneinträge, enthalten.These elements in turn can contain elements such as list items.

Die BenutzeroberflächenautomatisierungUI Automation-Struktur ist keine feststehende Struktur und wird selten vollständig angezeigt, da sie Tausende von Elementen enthalten kann.The BenutzeroberflächenautomatisierungUI Automation tree is not a fixed structure and is seldom seen in its totality because it might contain thousands of elements. Teile der Struktur werden bei Bedarf erstellt, und die Struktur kann sich durch Hinzufügen, Verschieben oder Entfernen von Elementen ändern.Parts of it are built as they are needed, and it can undergo changes as elements are added, moved, or removed.

Benutzeroberflächenautomatisierungs-Anbieter unterstützen die BenutzeroberflächenautomatisierungUI Automation-Struktur durch Implementieren der Navigation zwischen Elementen innerhalb eines Fragments, das aus einem Stamm (in der Regel in einem Fenster gehostet) und einer Unterstruktur besteht.UI Automation providers support the BenutzeroberflächenautomatisierungUI Automation tree by implementing navigation among items within a fragment, which consists of a root (usually hosted in a window) and a subtree. Anbieter sind jedoch nicht für die Navigation von einem Steuerelement zu einem anderen zuständig.However, providers are not concerned with navigation from one control to another. Dies wird vom BenutzeroberflächenautomatisierungUI Automation-Kern verwaltet, der dazu Informationen von den Standardfensteranbietern verwendet.This is managed by the BenutzeroberflächenautomatisierungUI Automation core, using information from the default window providers.

Ansichten der AutomatisierungsstrukturViews of the Automation Tree

Die BenutzeroberflächenautomatisierungUI Automation-Struktur kann gefiltert werden, um Ansichten zu erstellen, die nur die für einen bestimmten Client relevanten AutomationElement-Objekte enthalten.The BenutzeroberflächenautomatisierungUI Automation tree can be filtered to create views that contain only those AutomationElement objects relevant for a particular client. Dieser Ansatz ermöglicht es Clients, die durch BenutzeroberflächenautomatisierungUI Automation dargestellte Struktur an ihre speziellen Anforderungen anzupassen.This approach allows clients to customize the structure presented through BenutzeroberflächenautomatisierungUI Automation to their particular needs.

Ein Client hat zwei Möglichkeiten, die Ansicht anzupassen: durch Bereichsauswahl oder Filtern.The client has two ways of customizing the view: by scoping and by filtering. Bei einer Bereichsauswahl wird der Umfang der Ansicht ausgehend von einem Basiselement definiert: Die Anwendung soll beispielsweise nur direkte untergeordnete Elemente des Desktops oder alle Nachfolgerelemente eines Anwendungsfensters suchen.Scoping is defining the extent of the view, starting from a base element: for example, the application might want to find only direct children of the desktop, or all descendants of an application window. Beim Filtern werden die Typen der Elemente angegeben, die in der Ansicht enthalten sein sollen.Filtering is defining the types of elements that are to be included in the view.

Benutzeroberflächenautomatisierungs-Anbieter unterstützen Filtern durch Definieren von Eigenschaften für Elemente, einschließlich der IsControlElementProperty-Eigenschaft und der IsContentElementProperty-Eigenschaft.UI Automation providers support filtering by defining properties on elements, including the IsControlElementProperty and IsContentElementProperty properties.

BenutzeroberflächenautomatisierungUI Automation bietet drei Standardansichten.provides three default views. Diese Ansichten werden durch den Typ des ausgeführten Filterns definiert. Der Bereich jeder Ansicht wird durch die Anwendung definiert.These views are defined by the type of filtering performed; the scope of any view is defined by the application. Außerdem kann eine Anwendung andere Filter auf Eigenschaften anwenden, z. B. um nur aktivierte Steuerelemente in eine Steuerelementansicht aufzunehmen.In addition, the application can apply other filters on properties; for example, to include only enabled controls in a control view.

RohdatenansichtRaw View

Die Rohdatenansicht der BenutzeroberflächenautomatisierungUI Automation-Struktur ist die vollständige Struktur der AutomationElement-Objekte, deren Stamm der Desktop ist.The raw view of the BenutzeroberflächenautomatisierungUI Automation tree is the full tree of AutomationElement objects for which the desktop is the root. Die Rohdatenansicht orientiert sich stark an der programmatischen Struktur einer Anwendung und ist daher die ausführlichste verfügbare Ansicht.The raw view closely follows the native programmatic structure of an application and therefore is the most detailed view available. Sie stellt gleichzeitig die Basis zum Erstellen anderer Ansichten der Struktur dar.It is also the base on which the other views of the tree are built. Da diese Ansicht vom zugrunde liegenden UIUI-Framework abhängig ist, unterscheidet sich die Rohdatenansicht einer WPFWPF-Schaltfläche von der einer Win32Win32-Schaltfläche.Because this view depends on the underlying UIUI framework, the raw view of a WPFWPF button will have a different raw view than a Win32Win32 button.

Sie erhalten die Rohdatenansicht, indem Sie ohne Angabe von Eigenschaften nach Elementen suchen oder mit RawViewWalker in der Struktur navigieren.The raw view is obtained by searching for elements without specifying properties or by using the RawViewWalker to navigate the tree.

SteuerelementansichtControl View

Die Steuerelementansicht der BenutzeroberflächenautomatisierungUI Automation-Struktur vereinfacht die Aufgabe von Hilfstechnologieprodukten, dem Endbenutzer die UIUI zu beschreiben und ihn bei der Interaktion mit der Anwendung zu unterstützen, da diese Ansicht sehr der UIUI-Struktur ähnelt, die ein Endbenutzer sieht.The control view of the BenutzeroberflächenautomatisierungUI Automation tree simplifies the assistive technology product's task of describing the UIUI to the end user and helping that end user interact with the application because it closely maps to the UIUI structure perceived by an end user.

Die Steuerelementansicht ist eine Teilmenge der Rohdatenansicht.The control view is a subset of the raw view. Sie enthält alle UIUI-Elemente aus der Rohdatenansicht, die ein Endbenutzer als interaktiv bzw. als Teil der logischen Struktur des Steuerelements in der UIUI ansehen würde.It includes all UIUI items from the raw view that an end user would understand as interactive or contributing to the logical structure of the control in the UIUI. Beispiele für UIUI-Elemente, die zur logischen Struktur der UIUI beitragen, jedoch selbst nicht interaktiv sind, sind Elementcontainer wie Listenansichtsheader, Symbolleisten, Menüs und die Statusleiste.Examples of UIUI items that contribute to the logical structure of the UIUI, but are not interactive themselves, are item containers such as list view headers, toolbars, menus, and the status bar. Nicht interaktive Elemente, die nur für das Layout oder zur Dekoration verwendet werden, sind in der Steuerelementansicht nicht zu sehen.Non-interactive items used simply for layout or decorative purposes will not be seen in the control view. Ein Beispiel hierfür ist ein Bereich, der nur für das Layout der Steuerelemente in einem Dialogfeld verwendet wurde und selbst keine Informationen enthält.An example is a panel that was used only to lay out the controls in a dialog but does not itself contain any information. Nicht interaktive Elemente, die in der Steuerelementansicht angezeigt werden, sind Bilder mit Informationen sowie statischer Text in Dialogfeldern.Non-interactive items that will be seen in the control view are graphics with information and static text in a dialog. Nicht interaktive Elemente, die in der Steuerelementansicht enthalten sind, können keinen Tastaturfokus erhalten.Non-interactive items that are included in the control view cannot receive keyboard focus.

Sie erhalten die Steuerelementansicht, indem Sie nach Elementen suchen, deren IsControlElement-Eigenschaft auf true festgelegt ist, oder indem Sie über ControlViewWalker in der Struktur navigieren.The control view is obtained by searching for elements that have the IsControlElement property set to true, or by using the ControlViewWalker to navigate the tree.

InhaltsansichtContent View

Die Inhaltsansicht der BenutzeroberflächenautomatisierungUI Automation-Struktur ist eine Teilmenge der Steuerelementansicht.The content view of the BenutzeroberflächenautomatisierungUI Automation tree is a subset of the control view. Sie enthält UIUI-Elemente, die die tatsächlichen Informationen in einer Benutzeroberfläche mitteilen, einschließlich UIUI-Elementen, die den Tastaturfokus erhalten können, und einigen Texten, die keine Bezeichnungen für ein UIUI-Element sind.It contains UIUI items that convey the true information in a user interface, including UIUI items that can receive keyboard focus and some text that is not a label on a UIUI item. Beispielsweise werden die Werte aus einem Dropdown-Kombinationsfeld in der Inhaltsansicht angezeigt, da sie die vom Endbenutzer verwendeten Informationen darstellen.For example, the values in a drop-down combo box will appear in the content view because they represent the information being used by an end user. In der Inhaltsansicht wird sowohl ein Kombinationsfeld als auch ein Listenfeld als Auflistung von UIUI-Elementen dargestellt, wobei mindestens ein Element ausgewählt werden kann.In the content view, a combo box and list box are both represented as a collection of UIUI items where one, or perhaps more than one, item can be selected. Die Tatsache, dass ein Feld ständig geöffnet ist und ein Feld erweitert und reduziert werden kann, spielt in der Inhaltsansicht keine Rolle, da sie dafür vorgesehen ist, die Daten bzw. den Inhalt anzuzeigen, der dem Benutzer angezeigt wird.The fact that one is always open and one can expand and collapse is irrelevant in the content view because it is designed to show the data, or content, that is being presented to the user.

Sie erhalten die Inhaltsansicht, indem Sie nach Elementen suchen, deren IsContentElement-Eigenschaft auf true festgelegt ist, oder indem Sie über ContentViewWalker in der Struktur navigieren.The content view is obtained by searching for elements that have the IsContentElement property set to true, or by using the ContentViewWalker to navigate the tree.

Siehe auchSee also