Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
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.