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.
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.