Übersicht über die Benutzeroberflächenautomatisierungs-Struktur

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.

Hilfstechnologieprodukte und Testskripts navigieren durch die Benutzeroberflächenautomatisierungs-Struktur, um Informationen über die Benutzeroberfläche und deren Elemente zu sammeln.

In der Benutzeroberflächenautomatisierungs-Struktur gibt es ein Stammelement (RootElement), das den aktuellen Desktop darstellt und dessen untergeordnete Elemente Anwendungsfenstern entsprechen. Jedes dieser untergeordneten Elemente kann Elemente enthalten, die Komponenten der Benutzeroberfläche darstellen, z. B. Menüs, Schaltflächen, Symbolleisten und Listenfelder. Diese Elemente können wiederum Elemente, etwa Listeneinträge, enthalten.

Die Benutzeroberflächenautomatisierungs-Struktur ist keine feststehende Struktur und wird selten vollständig angezeigt, da sie Tausende von Elementen enthalten kann. Teile der Struktur werden bei Bedarf erstellt, und die Struktur kann sich durch Hinzufügen, Verschieben oder Entfernen von Elementen ändern.

Benutzeroberflächenautomatisierungs-Anbieter unterstützen die Benutzeroberflächen-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. Anbieter sind jedoch nicht für die Navigation von einem Steuerelement zu einem anderen zuständig. Dies wird vom Benutzeroberflächenkern verwaltet, der dazu Informationen von den Standardfensteranbietern verwendet.

Ansichten der Automatisierungsstruktur

Die Benutzeroberflächenautomatisierungs-Struktur kann gefiltert werden, um Ansichten zu erstellen, die nur die für einen bestimmten Client relevanten AutomationElement-Objekte enthalten. Dieser Ansatz ermöglicht es Clients, die durch Benutzeroberflächenautomatisierung dargestellte Struktur an ihre speziellen Anforderungen anzupassen.

Ein Client hat zwei Möglichkeiten, die Ansicht anzupassen: durch Bereichsauswahl oder Filtern. 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. Beim Filtern werden die Typen der Elemente angegeben, die in der Ansicht enthalten sein sollen.

Benutzeroberflächenautomatisierungs-Anbieter unterstützen Filtern durch Definieren von Eigenschaften für Elemente, einschließlich der IsControlElementProperty-Eigenschaft und der IsContentElementProperty-Eigenschaft.

Benutzeroberflächenautomatisierung bietet drei Standardansichten. Diese Ansichten werden durch den Typ des ausgeführten Filterns definiert. Der Bereich jeder Ansicht wird durch die Anwendung definiert. Außerdem kann eine Anwendung andere Filter auf Eigenschaften anwenden, z. B. um nur aktivierte Steuerelemente in eine Steuerelementansicht aufzunehmen.

Rohdatenansicht

Die Rohdatenansicht der Benutzeroberflächenautomatisierungs-Struktur ist die vollständige Struktur der AutomationElement-Objekte, deren Stamm der Desktop ist. Die Rohdatenansicht orientiert sich stark an der programmatischen Struktur einer Anwendung und ist daher die ausführlichste verfügbare Ansicht. Sie stellt gleichzeitig die Basis zum Erstellen anderer Ansichten der Struktur dar. Da diese Ansicht vom zugrunde liegenden Benutzeroberflächen-Framework abhängig ist, unterscheidet sich die Rohdatenansicht einer WPF-Schaltfläche von der einer Win32-Schaltfläche.

Sie erhalten die Rohdatenansicht, indem Sie ohne Angabe von Eigenschaften nach Elementen suchen oder mit RawViewWalker in der Struktur navigieren.

Steuerelementansicht

Die Steuerelementansicht der Benutzeroberflächenautomatisierungs-Struktur vereinfacht die Aufgabe von Hilfstechnologieprodukten, dem Endbenutzer die Benutzeroberfläche zu beschreiben und ihn bei der Interaktion mit der Anwendung zu unterstützen, da diese Ansicht sehr der Benutzeroberflächenstruktur ähnelt, die ein Endbenutzer sieht.

Die Steuerelementansicht ist eine Teilmenge der Rohdatenansicht. Sie enthält alle Benutzeroberflächenelemente aus der Rohdatenansicht, die ein Endbenutzer als interaktiv bzw. als Teil der logischen Struktur des Steuerelements in der Benutzeroberfläche ansehen würde. Beispiele für Benutzeroberflächenelemente, die zur logischen Struktur der Benutzeroberfläche beitragen, jedoch selbst nicht interaktiv sind, sind Elementcontainer wie Listenansichtsheader, Symbolleisten, Menüs und die Statusleiste. Nicht interaktive Elemente, die nur für das Layout oder zur Dekoration verwendet werden, sind in der Steuerelementansicht nicht zu sehen. 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. Nicht interaktive Elemente, die in der Steuerelementansicht angezeigt werden, sind Bilder mit Informationen sowie statischer Text in Dialogfeldern. Nicht interaktive Elemente, die in der Steuerelementansicht enthalten sind, können keinen Tastaturfokus erhalten.

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.

Inhaltsansicht

Die Inhaltsansicht der Benutzeroberflächenautomatisierungs-Struktur ist eine Teilmenge der Steuerelementansicht. Sie enthält Benutzeroberflächenelemente, die die tatsächlichen Informationen in einer Benutzeroberfläche mitteilen, einschließlich Benutzeroberflächenelementen, die den Tastaturfokus erhalten können, und einigen Texten, die keine Bezeichnungen für ein Benutzeroberflächenelement sind. Beispielsweise werden die Werte aus einem Dropdown-Kombinationsfeld in der Inhaltsansicht angezeigt, da sie die vom Endbenutzer verwendeten Informationen darstellen. In der Inhaltsansicht wird sowohl ein Kombinationsfeld als auch ein Listenfeld als Auflistung von Benutzeroberflächenelementen dargestellt, wobei mindestens ein Element ausgewählt werden kann. 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.

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.

Weitere Informationen