Benutzeroberflächenautomatisierungs-Unterstützung für den DataItem-Steuerelementtyp

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 diesem Thema erhalten Sie Informationen zur Unterstützung der Microsoft-Benutzeroberflächenautomatisierung für den Steuerelementtyp „DataItem“. Bei der Benutzeroberflächenautomatisierung entspricht ein Steuerelementtyp einer Reihe von Bedingungen, die ein Steuerelement erfüllen muss, um die ControlTypeProperty-Eigenschaft verwendet zu können. Zu den Bedingungen gehören spezifische Richtlinien für die Struktur der Benutzeroberflächenautomatisierung, Eigenschaftswerte der Benutzeroberflächenautomatisierung und Steuerelementmuster.

Ein Eintrag in einer Kontaktliste ist ein Beispiel für ein Datenelement-Steuerelement. Ein Datenelement-Steuerelement enthält Informationen, die für einen Endbenutzer von Interesse sind. Es ist komplizierter als das einfache Listenelement, da es mehr Informationen enthält.

In den folgenden Abschnitten werden die erforderliche Struktur der Benutzeroberflächenautomatisierung, Eigenschaften, Steuerelementmuster und Ereignisse für den Steuerelementtyp „DataItem“ definiert. Die Anforderungen für die Benutzeroberflächenautomatisierung gelten für alle Datenelement-Steuerelemente, unabhängig davon, ob Windows Presentation Foundation (WPF), Win32 oder Windows Forms verwendet wird.

Erforderliche Benutzeroberflächenautomatisierungs-Struktur

In der folgenden Tabelle werden die Steuerelementansicht und die Inhaltsansicht der Struktur der Benutzeroberflächenautomatisierung für Datenelement-Steuerelemente sowie die möglichen Inhalte der Ansichten beschrieben. Weitere Informationen zur Struktur der Benutzeroberflächenautomatisierung finden Sie unter Übersicht über die Struktur der Benutzeroberflächenautomatisierung.

Benutzeroberflächenautomatisierungs-Struktur – Steuerelementansicht Benutzeroberflächenautomatisierungs-Struktur – Inhaltsansicht
DataItem

– Variabel (0 oder mehr, kann hierarchisch strukturiert werden)
DataItem

– Variabel (0 oder mehr, kann hierarchisch strukturiert werden)

Ein DataItem-Element in einem Datenraster kann eine Vielzahl von Objekten hosten, wie etwa eine andere Ebene von Datenelementen oder bestimmte Rasterelemente, z. B. Text, Bilder oder Bearbeitungssteuerelemente. Wenn das DataItem-Element über eine bestimmte Objektrolle verfügt, muss das Element als bestimmter Steuerelementtyp verfügbar gemacht werden, z. B. als ListItem-Steuerelementtyp für ein wählbares Datenelement im Raster.

Erforderliche Benutzeroberflächenautomatisierungs-Eigenschaften

Die folgende Tabelle enthält die Eigenschaften, deren Werte oder Definitionen für Datenelement-Steuerelemente besonders relevant sind. Weitere Informationen zu den Eigenschaften der Benutzeroberflächenautomatisierung finden Sie unter Eigenschaften der Benutzeroberflächenautomatisierung für Clients.

Eigenschaft Wert Hinweise
AutomationIdProperty Siehe Hinweise. Der Wert dieser Eigenschaft muss für alle Steuerelemente in einer Anwendung eindeutig sein.
BoundingRectangleProperty Siehe Hinweise. Das äußere Rechteck, das das gesamte Steuerelement enthält.
ClickablePointProperty Siehe Hinweise. Unterstützt, wenn es ein umschließendes Rechteck gibt. Wenn nicht auf jeden Punkt innerhalb des umschließenden Rechtecks geklickt werden kann, und Sie spezielle Treffertests ausführen, setzen Sie die Eigenschaft außer Kraft, und stellen Sie dann einen klickbaren Punkt bereit.
ControlTypeProperty DataItem Dieser Wert ist für alle Benutzeroberflächen-Frameworks gleich.
IsContentElementProperty True Das Datenelement-Steuerelement muss immer ein Inhaltselement sein.
IsControlElementProperty True Das Datenelement-Steuerelement muss immer ein Steuerelement sein.
IsKeyboardFocusableProperty Siehe Hinweise. Wenn das Steuerelement den Tastaturfokus erhalten kann, muss es diese Eigenschaft unterstützen.
ItemStatusProperty Siehe Hinweise. Wenn das Steuerelement einen Status enthält, der dynamisch aktualisiert wird, muss diese Eigenschaft unterstützt werden, damit eine Hilfstechnologie Aktualisierungen empfangen kann, wenn sich der Status des Elements ändert.
ItemTypeProperty Siehe Hinweise. Dies ist der Zeichenfolgenwert, der dem Endbenutzer das zugrunde liegende Objekt übermittelt, das vom Element dargestellt wird. Beispiele sind „Mediendatei“ oder „Kontakt“.
LabeledByProperty Null Datenelement-Steuerelemente verfügen nicht über eine statische Textbezeichnung.
LocalizedControlTypeProperty „Datenelement“ Lokalisierte Zeichenfolge für den Steuerelementtyp „DataItem“.
NameProperty Siehe Hinweise. Das Datenelement-Steuerelement enthält stets ein primäres Textelement, das sich auf den Bezeichner bezieht, den der Benutzer als bedeutungsvollsten Bezeichner mit dem Element assoziieren würde.

Erforderliche Benutzeroberflächenautomatisierungs-Steuerelementmuster

Die folgende Tabelle enthält die Steuerelementmuster der Microsoft-Benutzeroberflächenautomatisierung, die von allen Datenelement-Steuerelementen unterstützt werden müssen. Weitere Informationen zu Steuerelementmustern finden Sie unter UI Automation Control Patterns Overview.

Steuerelementmuster Support Hinweise
IExpandCollapseProvider Depends (Abhängig) Wenn das Datenelement-Steuerelement erweitert oder reduziert werden kann, um Informationen ein- bzw. auszublenden, muss das ExpandCollapse-Muster unterstützt werden.
IGridItemProvider Depends (Abhängig) Datenelemente unterstützen das GridItem-Muster, wenn in einem Container, in dem eine räumliche Navigation von Element zu Element möglich ist, eine Auflistung von Datenelementen verfügbar ist.
IScrollItemProvider Depends (Abhängig) Alle Datenelemente können mithilfe des ScrollItem-Musters durch einen Bildlauf angezeigt werden, wenn ihr Datencontainer mehr Elemente enthält, als auf den Bildschirm passen.
ISelectionItemProvider Ja Alle Datenelemente müssen das SelectionItem-Muster unterstützen, das anzeigt, ob das Element ausgewählt ist.
ITableItemProvider Depends (Abhängig) Wenn das Datenelement in einem DataGrid-Steuerelementtyp enthalten ist, wird dieses Muster unterstützt.
IToggleProvider Depends (Abhängig) Wenn das Datenelement einen Zustand enthält, dessen Werte durchlaufen werden können.
IValueProvider Depends (Abhängig) Wenn der primäre Text des Datenelements bearbeitbar ist, muss das Value-Muster unterstützt werden.

Arbeiten mit Datenelementen in umfangreichen Listen

Bei umfangreichen Listen handelt es sich häufig um Daten, die in Benutzeroberflächen-Frameworks virtualisiert sind, um die Leistung zu verbessern. Aus diesem Grund kann ein Benutzeroberflächenautomatisierungs-Client das Benutzeroberflächenautomatisierungs-Abfragefeature nicht dazu verwenden, den Inhalt der gesamten Struktur auf die gleiche Weise abzurufen wie den anderer Elementcontainer. Ein Client muss das Element per Bildlauf anzeigen (oder das Steuerelement erweitern, um alle hilfreichen Optionen anzuzeigen), bevor er auf sämtliche Informationen des Datenelements zugreifen kann.

Wird SetFocus im Benutzeroberflächenautomatisierungs-Element für das Datenelement aufgerufen, wird der Microsoft Windows-Explorer-Fall erfolgreich zurückgegeben, und der Fokus wechselt zu dem Edit-Element innerhalb der Teilstruktur des Datenelements.

Erforderliche Benutzeroberflächenautomatisierungs-Ereignisse

In der folgenden Tabelle sind die Ereignisse der Benutzeroberflächenautomatisierung aufgeführt, die von allen Datenelement-Steuerelementen unterstützt werden müssen. Weitere Informationen zu Ereignissen finden Sie unter UI Automation Events Overview.

Ereignis der Benutzeroberflächenautomatisierung Support Notizen
AutomationFocusChangedEvent Erforderlich Keine
Durch geänderteBoundingRectangleProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteIsEnabledProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteIsOffscreenProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteNameProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
StructureChangedEvent Erforderlich Keine
InvokedEvent Depends (Abhängig) Keine
Durch geänderteExpandCollapseStateProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
ElementAddedToSelectionEvent Erforderlich Keine
ElementRemovedFromSelectionEvent Erforderlich Keine
ElementSelectedEvent Erforderlich Keine
Durch geänderteToggleStateProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteValueProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine

Beispiel für DataItem-Steuerelementtyp

Das folgende Bild zeigt einen DataItem-Steuerelementtyp in einem ListView-Steuerelement mit Unterstützung für detaillierte Informationen für die Spalten.

Graphic of a List View control with two data items

Die Steuerelementansicht und die Inhaltsansicht der Benutzeroberflächenautomatisierungs-Struktur, die zum Datenelement gehört, werden unten dargestellt. Die Steuerelementmuster für jedes Automatisierungselement sind in Klammern aufgeführt. Die Gruppe „Contoso“ ist ebenfalls Teil des Rasters des DataGrid-Hoststeuerelements.

Benutzeroberflächenautomatisierungs-Struktur – Steuerelementansicht Benutzeroberflächenautomatisierungs-Struktur – Inhaltsansicht
– Group „Contoso“ (Table, Grid)
– DataItem „Accounts Receivable.doc“ (TableItem, GridItem, SelectionItem, Invoke)
– Image „Accounts Receivable.doc“
– Edit „Name“ (TableItem, GridItem, Value „Accounts Receivable.doc“)
– Edit „Date modified“ (TableItem, GridItem, Value „8/25/2006 3:29 PM“)
– Edit „Size“ (GridItem, TableItem, Value "11.0 KB)
– DataItem „Accounts Payable.doc“ (TableItem, GridItem, SelectionItem, Invoke)
- ...
– Group „Contoso“ (Table, Grid)
– DataItem „Accounts Receivable.doc“ (TableItem, GridItem, SelectionItem, Invoke)
– Image „Accounts Receivable.doc“
– Edit „Name“ (TableItem, GridItem, Value „Accounts Receivable.doc“)
– Edit „Date modified“ (TableItem, GridItem, Value „8/25/2006 3:29 PM“)
– Edit „Size“ (GridItem, TableItem, Value "11.0 KB)
– DataItem „Accounts Payable.doc“ (TableItem, GridItem, SelectionItem, Invoke)
- …

Wenn ein Raster eine Liste wählbarer Elemente darstellt, können die entsprechenden Benutzeroberflächenelemente mit dem Steuerelementtyp „ListItem“ statt mit dem Steuerelementtyp „DataItem“ verfügbar gemacht werden. Im vorherigen Beispiel können die DataItem-Elemente („Accounts Receivable.doc“ und „Accounts Payable.doc“) unter Group („Contoso“) verbessert werden, wenn Sie diese als ListItem-Steuerelementtypen verfügbar machen, da dieser Typ bereits das Steuerelementmuster „SelectionItem“ unterstützt.

Weitere Informationen