Freigeben über


Übersicht über die Benutzeroberflächenautomatisierungs-Struktur

Hinweis

Diese Dokumentation richtet sich an .NET Framework-Entwickler, die die verwalteten Benutzeroberflächenautomatisierungs-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind. Die neuesten Informationen zur Benutzeroberflächenautomatisierung finden Sie unter Windows Automation API: Benutzeroberflächenautomatisierung.

Hilfstechnologieprodukte und Testskripts navigieren in der Benutzeroberflächenautomatisierungs-Struktur, um Informationen über die Benutzeroberfläche (UI) und deren Elemente zu sammeln.

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

Die Benutzeroberflächenautomatisierungs-Struktur ist keine feste Struktur und wird selten in ihrer Gesamtheit gesehen, da sie Tausende von Elementen enthalten kann. Teile davon werden so erstellt, wie sie benötigt werden, und sie kann sich ändern, wenn Elemente hinzugefügt, verschoben oder entfernt werden.

Anbieter der UI-Automatisierung unterstützen die UI-Automatisierungs-Baumstruktur, indem sie die Navigation zwischen Elementen innerhalb eines Fragments implementieren, das aus einem Stamm (normalerweise in einem Fenster gehostet) und einer Unterstruktur besteht. Anbieter sind jedoch nicht mit der Navigation von einem Steuerelement zu einem anderen befasst. Dies wird vom Benutzeroberflächenautomatisierungskern mithilfe von Informationen von den Standardfensteranbietern verwaltet.

Ansichten der Automatisierungsstruktur

Die Benutzeroberflächenautomatisierungs-Struktur kann gefiltert werden, um Ansichten zu erstellen, die nur die AutomationElement für einen bestimmten Client relevanten Objekte enthalten. Mit diesem Ansatz können Clients die Struktur anpassen, die durch die Benutzeroberflächenautomatisierung auf ihre speziellen Anforderungen präsentiert wird.

Der Client verfügt über zwei Möglichkeiten zum Anpassen der Ansicht: durch Bereichsdefinition und Filterung. 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. Die Filterung definiert die Typen von Elementen, die in die Ansicht aufgenommen werden sollen.

Benutzeroberflächenautomatisierungs-Anbieter unterstützen das Filtern, indem sie Eigenschaften für Elemente definieren, einschließlich der IsControlElementProperty-Eigenschaft und der IsContentElementProperty-Eigenschaft.

Die Benutzeroberflächenautomatisierung bietet drei Standardansichten. Diese Ansichten werden durch den Typ der durchgeführten Filterung definiert; der Bereich einer beliebigen Ansicht wird von der Anwendung definiert. Darüber hinaus kann die Anwendung andere Filter auf Eigenschaften anwenden; Um beispielsweise nur aktivierte Steuerelemente in eine Steuerelementansicht einzuschließen.

Unformatierte Ansicht

Die Rohansicht der UI-Automatisierungsstruktur ist die vollständige Struktur von AutomationElement Objekten, deren Wurzel der Desktop ist. Die rohe Sicht folgt eng der systemeigenen programmgesteuerten Struktur einer Anwendung und ist daher die detaillierteste verfügbare Ansicht. Es ist auch die Basis, auf der die anderen Ansichten des Baums aufgebaut sind. Da diese Ansicht vom zugrunde liegenden Benutzeroberflächenframework abhängt, hat die unformatierte Ansicht einer WPF-Schaltfläche eine andere unformatierte Ansicht als eine Win32-Schaltfläche.

Die Rohansicht wird durch Suchen nach Elementen abgerufen, ohne Eigenschaften anzugeben, oder indem man RawViewWalker zur Navigation im Baum verwendet.

Steuerelementansicht

Die Steuerelementansicht der Benutzeroberflächenautomatisierungs-Struktur vereinfacht die Aufgabe des Hilfstechnologieprodukts, die Benutzeroberfläche für den Endbenutzer zu beschreiben und dem Endbenutzer dabei zu helfen, mit der Anwendung zu interagieren, da er eng der von einem Endbenutzer wahrgenommenen UI-Struktur entspricht.

Die Kontrollansicht ist eine Teilmenge der Rohansicht. Es umfasst alle UI-Elemente aus der Rohansicht, die ein Endbenutzer als interaktiv oder als Beitrag zur logischen Struktur des Steuerelements in der Benutzeroberfläche verstehen würde. Beispiele für UI-Elemente, die zur logischen Struktur der Benutzeroberfläche beitragen, aber nicht interaktiv sind, sind Elementcontainer wie Listenansichtsüberschriften, Symbolleisten, Menüs und die Statusleiste. Nicht interaktive Elemente, die einfach für Layout- oder dekorative Zwecke verwendet werden, werden in der Steuerelementansicht nicht angezeigt. Ein Beispiel ist ein Panel, das nur zum Layout der Steuerelemente in einem Dialogfeld verwendet wurde, aber keine Informationen enthält. Nicht interaktive Elemente, die in der Steuerelementansicht angezeigt werden, sind Grafiken mit Informationen und statischem Text in einem Dialogfeld. Nicht interaktive Elemente, die in der Steuerelementansicht enthalten sind, können den Tastaturfokus nicht 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 des UI-Automatisierungsbaums ist eine Teilmenge der Steuerungsansicht. Es enthält UI-Elemente, die die wahren Informationen in einer Benutzeroberfläche vermitteln, einschließlich UI-Elemente, die den Tastaturfokus erhalten, und Text, der keine Beschriftung auf einem UI-Element ist. Beispielsweise werden die Werte in einem Dropdown-Kombinationsfeld in der Inhaltsansicht angezeigt, da sie die Informationen darstellen, die von einem Endbenutzer verwendet werden. In der Inhaltsansicht werden ein Kombinationsfeld und ein Listenfeld beide als Eine Sammlung von UI-Elementen dargestellt, bei denen ein element oder vielleicht mehrere Elemente ausgewählt werden können. Die Tatsache, dass eines immer geöffnet ist und sich eines erweitern und reduzieren lässt, spielt in der Inhaltsansicht keine Rolle, da sie darauf ausgelegt ist, die Daten oder Inhalte anzuzeigen, die dem Benutzer präsentiert werden.

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.

Siehe auch