Freigeben über


Unterstützung der Benutzeroberflächenautomatisierung für den DataItem-Steuerelementtyp

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.

Dieses Thema enthält Informationen zur Unterstützung der Microsoft-Benutzeroberflächenautomatisierung für den DataItem-Steuerelementtyp. Bei der Benutzeroberflächenautomatisierung ist ein Steuerelementtyp eine Reihe von Bedingungen, die ein Steuerelement erfüllen muss, um die ControlTypeProperty Eigenschaft verwenden zu können. Zu den Bedingungen gehören spezifische Richtlinien für die Baumstruktur der UI Automation, Eigenschaftswerte der UI Automation und Steuermuster.

Ein Eintrag in einer Kontaktliste ist ein Beispiel für ein Datenelementsteuerelement. Ein Datenelementsteuerelement enthält Informationen, die für einen Endbenutzer von Interesse sind. Es ist komplizierter als das einfache Listenelement, da es umfangreichere 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 an die Benutzeroberflächenautomatisierung gelten für alle Datenelementsteuerelemente, unabhängig davon, ob Windows Presentation Foundation (WPF), Win32 oder Windows Forms.

Erforderliche UI-Automatisierungsbaumstruktur

Die folgende Tabelle zeigt die Steuerelementansicht und die Inhaltsansicht der Benutzeroberflächenautomatisierungs-Struktur, die sich auf Datenelementsteuerelemente bezieht, und beschreibt, was in jeder Ansicht enthalten sein kann. Weitere Informationen zur Benutzeroberflächenautomatisierungsstruktur finden Sie unter Ui Automation Tree Overview.

Benutzeroberflächenautomatisierungsstruktur – Steuerelementansicht Benutzeroberflächenautomatisierungsstruktur – Inhaltsansicht
DataItem

- Variiert (0 oder mehr; kann in der Hierarchie strukturiert werden)
DataItem

- Variiert (0 oder mehr; kann in der Hierarchie strukturiert werden)

Ein Datenelementelement in einem Datenraster kann eine Vielzahl von Objekten hosten, einschließlich einer anderen Ebene von Datenelementen oder bestimmte Rasterelemente wie Text, Bilder oder Bearbeitungssteuerelemente. Wenn das Datenelementelement über eine bestimmte Objektrolle verfügt, sollte das Element als bestimmter Steuerelementtyp verfügbar gemacht werden. Beispiel: Ein ListItem-Steuerelementtyp für ein auswä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 Benutzeroberflächenautomatisierungs-Eigenschaften finden Sie unter Benutzeroberflächenautomatisierungseigenschaften für Clients.

Eigentum Wert Hinweise
AutomationIdProperty Siehe Hinweise. Der Wert dieser Eigenschaft muss für alle Steuerelemente in einer Anwendung eindeutig sein.
BoundingRectangleProperty Siehe Hinweise. Das äußerste Rechteck, das das gesamte Steuerelement enthält.
ClickablePointProperty Siehe Hinweise. Wird unterstützt, wenn ein umgebendes Rechteck vorhanden ist. 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ächenframeworks identisch.
IsContentElementProperty Richtig Das Datenelementsteuerelement muss immer Inhalt sein.
IsControlElementProperty Richtig Das Datenelementsteuerelement 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 den 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, das das Element darstellt, vermittelt. Beispiele sind "Mediendatei" oder "Kontakt".
LabeledByProperty Null Datenelementsteuerelemente verfügen nicht über eine statische Textbezeichnung.
LocalizedControlTypeProperty "Datenelement" Lokalisierte Zeichenfolge, die dem Datentyp des DataItem-Steuerelements entspricht.
NameProperty Siehe Hinweise. Das Datenelementsteuerelement enthält immer ein primäres Textelement, das sich auf das bezieht, was der Benutzer sich als prägnantesten semantischen Bezeichner für das Element vorstellen würde.

Erforderliche Benutzeroberflächenautomatisierungs-Steuerelementmuster

In der folgenden Tabelle sind die Steuerelementmuster der Microsoft-Benutzeroberflächenautomatisierung aufgeführt, die von allen Datenelementsteuerelementen unterstützt werden müssen. Weitere Informationen zu Steuerelementmustern finden Sie unter Übersicht über Steuerelementmuster für die Benutzeroberflächenautomatisierung.

Steuerelementmuster Unterstützung Hinweise
IExpandCollapseProvider Hängt Wenn das Datenelement erweitert oder zusammengeklappt werden kann, um Informationen anzuzeigen und auszublenden, muss das Erweitern/Zusammenklappen-Muster unterstützt werden.
IGridItemProvider Hängt Datenelemente unterstützen das Raster-Element-Muster, wenn eine Sammlung von Datenelementen in einem Container verfügbar ist, der räumliches Navigieren zwischen den Elementen möglich macht.
IScrollItemProvider Hängt 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 Auswahlelementmuster unterstützen, um anzugeben, wann das Element ausgewählt ist.
ITableItemProvider Hängt Wenn das Datenelement in einem Datenraster-Steuerelementtyp enthalten ist, wird dieses Muster unterstützt.
IToggleProvider Hängt Wenn das Datenelement einen Zustand enthält, der durchlaufen werden kann.
IValueProvider Hängt Wenn der Primärtext des Datenelements bearbeitbar ist, muss das Wertmuster unterstützt werden.

Arbeiten mit Datenelementen in großen 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 sollte das Element in der Ansicht scrollen (oder das Steuerelement erweitern, um alle wertvollen Optionen anzuzeigen), bevor auf den vollständigen Satz von Informationen aus dem Datenelement zugegriffen wird.

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 Benutzeroberflächenautomatisierungsereignisse aufgeführt, die von allen Datenelementsteuerelementen unterstützt werden müssen. Weitere Informationen zu Ereignissen finden Sie unter "Übersicht über Benutzeroberflächenautomatisierungsereignisse".

Benutzeroberflächenautomatisierungs-Ereignis Unterstützung Hinweise
AutomationFocusChangedEvent Erforderlich Nichts
Durch die BoundingRectangleProperty-Eigenschaft geändertes Ereignis. Erforderlich Nichts
Durch die IsEnabledProperty-Eigenschaft geändertes Ereignis. Erforderlich Nichts
Durch die IsOffscreenProperty-Eigenschaft geändertes Ereignis. Erforderlich Nichts
Durch die NameProperty-Eigenschaft geändertes Ereignis. Erforderlich Nichts
StructureChangedEvent Erforderlich Nichts
InvokedEvent Hängt Nichts
Durch die ExpandCollapseStateProperty-Eigenschaft geändertes Ereignis. Hängt Nichts
ElementAddedToSelectionEvent Erforderlich Nichts
ElementRemovedFromSelectionEvent Erforderlich Nichts
ElementSelectedEvent Erforderlich Nichts
Durch die ToggleStateProperty-Eigenschaft geändertes Ereignis. Hängt Nichts
Durch die ValueProperty-Eigenschaft geändertes Ereignis. Hängt Nichts

DataItem-Steuerelementtyp (Beispiel)

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

Grafik eines Listenansicht-Steuerelements mit zwei Datenelementen

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

Benutzeroberflächenautomatisierungsstruktur – Steuerelementansicht Benutzeroberflächenautomatisierungsstruktur – Inhaltsansicht
- Gruppe "Contoso" (Tabelle, Raster)
– DataItem „Accounts Receivable.doc“ (TableItem, GridItem, SelectionItem, Invoke)
– Image „Accounts Receivable.doc“
- "Name" bearbeiten (TableItem, GridItem, Wert "Accounts Receivable.doc")
- Bearbeiten "Datum geändert" (TableItem, GridItem, Wert "8/25/2006 3:29 PM")
– Edit „Size“ (GridItem, TableItem, Value "11.0 KB)
– DataItem „Accounts Payable.doc“ (TableItem, GridItem, SelectionItem, Invoke)
- ...
- Gruppe "Contoso" (Tabelle, Raster)
– DataItem „Accounts Receivable.doc“ (TableItem, GridItem, SelectionItem, Invoke)
– Image „Accounts Receivable.doc“
- "Name" bearbeiten (TableItem, GridItem, Wert "Accounts Receivable.doc")
- Bearbeiten "Datum geändert" (TableItem, GridItem, Wert "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 auswählbarer Elemente darstellt, können die entsprechenden UI-Elemente mit dem ListItem-Steuerelementtyp anstelle des DataItem-Steuerelementtyps verfügbar gemacht werden. Im vorherigen Beispiel können die DataItem-Elemente ("Accounts Receivable.doc" und "Accounts Payable.doc") unter "Group " ("Contoso") verbessert werden, indem sie als ListItem-Steuerelementtypen verfügbar sind, da dieser Typ bereits das SelectionItem-Steuerelementmuster unterstützt.

Siehe auch