Benutzeroberflächenautomatisierungs-Unterstützung für den List-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.

Dieser Artikel enthält Informationen zur Unterstützung der Benutzeroberflächenautomatisierung für den Steuerelementtyp „Liste“. 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.

Der Steuerelementtyp „List“ bietet eine Möglichkeit zum Organisieren von unstrukturierten Elementgruppen und ermöglicht dem Benutzer, eines oder mehrere der Elemente auszuwählen. Der Steuerelementtyp „List“ ist hinsichtlich der Typen, die er als untergeordnete Elemente enthalten kann, nur wenig eingeschränkt. Dadurch können Benutzeroberflächenautomatisierungs-Anbieter bekannte Elemente für Auswahlcontainer unterstützen.

Die Anforderungen an die Benutzeroberflächenautomatisierung in den folgenden Abschnitten gelten für alle Steuerelemente, die den Steuerelementtyp „Liste“ implementieren, ob Windows Presentation Foundation (WPF), Win32 oder Windows Forms. Ein Beispiel für Steuerelemente, die den Steuerelementtyp „List“ implementieren, sind Listencontainer-Steuerelemente.

Erforderliche Benutzeroberflächenautomatisierungs-Struktur

In der folgenden Tabelle werden die beiden Ansichten der Struktur der Benutzeroberflächenautomatisierung für Listensteuerelemente sowie die möglichen Inhalte der Ansichten beschrieben. In der Steuerelementansicht sind nur Steuerelemente enthalten. In der Inhaltsansicht werden redundante Informationen aus der Struktur entfernt. Ein Textsteuerelement zum Beschriften eines Kombinationsfeld wird beispielsweise als ComboBox NamePropertyverfügbar gemacht. Da das Textsteuerelement so bereits in der Steuerelementansicht verfügbar gemacht wird, ist es nicht erforderlich, das Element noch einmal verfügbar zu machen. Es wird daher aus der Inhaltsansicht entfernt. Weitere Informationen zur Struktur der Benutzeroberflächenautomatisierung finden Sie unter Übersicht über die Struktur der Benutzeroberflächenautomatisierung.

Steuerelementansicht Inhaltsansicht
Enthält die Elemente, die Steuerelementen entsprechen. Entfernt redundante Informationen aus der Struktur, sodass Hilfstechnologien den kleinsten Satz von für den Endbenutzer sinnvollen Informationen verwenden.
List

– DataItem (0 oder mehr)
– ListItem (0 oder mehr)
– Group (0 oder mehr)
– ScrollBar (0, 1 oder 2)
List

– DataItem (0 oder mehr)
– ListItem (0 oder mehr)
– Group (0 oder mehr)

Die Steuerelementansicht für ein Steuerelement, das den Steuerelementtyp „List“ implementiert (z. B. ein Listensteuerelement), umfasst die folgenden Elemente:

  • Beliebige Anzahl von Elementen innerhalb des Listensteuerelements (Elemente können auf dem Steuerelementtyp „ListItem“ oder dem Steuerelementtyp „DataItem“ basieren)

  • Beliebige Anzahl von Gruppensteuerelementen innerhalb eines Listensteuerelements

  • Kein, ein oder zwei ScrollBar-Steuerelemente

Die Inhaltsansicht eines Steuerelements, das den Steuerelementtyp „List“ implementiert (z. B. ein Listensteuerelement), besteht aus folgenden Elementen:

  • Beliebige Anzahl von Elementen innerhalb des Listensteuerelements (Elemente können auf dem Steuerelementtyp „ListItem“ oder dem Steuerelementtyp „DataItem“ basieren)

  • Beliebige Anzahl von Gruppen innerhalb des Listensteuerelements

Ein Listensteuerelement darf keine Elemente enthalten, die andere hierarchische Beziehungen als die Gruppierung aufweisen. Wenn die Elemente in der Struktur der Benutzeroberflächenautomatisierung über untergeordnete Elemente verfügen, sollte der Listencontainer auf dem Steuerelementtyp „Struktur“ basieren.

Die innerhalb des Listensteuerelements auswählbaren Elemente sind in der Struktur der Benutzeroberflächenautomatisierung des Listensteuerelements über die Nachfolgerelemente verfügbar. Alle Elemente innerhalb des Listensteuerelements müssen zur gleichen Auswahlgruppe gehören. Die auswählbaren Elemente in der Liste sollten als ListItem-Steuerelementtypen (und nicht als DataItem-Steuerelementtypen) verfügbar gemacht werden.

Erforderliche Benutzeroberflächenautomatisierungs-Eigenschaften

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

Benutzeroberflächenautomatisierungs-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. Wenn das Listensteuerelement über einen klickbaren Punkt verfügt (ein Punkt, auf den geklickt werden kann, damit die Liste den Fokus erhält), muss dieser Punkt durch diese Eigenschaft verfügbar gemacht werden.

Wenn der Wert der IsOffScreen-Eigenschaft „True“ ist, wird NoClickablePointException ausgelöst.
IsKeyboardFocusableProperty Siehe Hinweise. Wenn das Steuerelement den Tastaturfokus erhalten kann, muss es diese Eigenschaft unterstützen.
NameProperty Siehe Hinweise. Der Wert der Eigenschaft „Name“ eines Listensteuerelements sollte die Kategorie der Optionen vermitteln, die dem Benutzer zur Auswahl zur Verfügung stehen. Diese Eigenschaft ruft ihren Namen in der Regel aus einer statischen Textbezeichnung ab. Wenn keine statische Textbezeichnung vorhanden ist, muss der Anwendungsentwickler einen Wert für die Eigenschaft „Name“ verfügbar machen.

Nur wenn das Steuerelement innerhalb der Teilstruktur eines anderen Steuerelements verwendet wird, ist diese Eigenschaft für Listensteuerelemente nicht erforderlich.
LabeledByProperty Siehe Hinweise. Wenn eine statische Textbezeichnung vorhanden ist, muss diese Eigenschaft einen Verweis auf das entsprechende Steuerelement verfügbar machen.
ControlTypeProperty List Dieser Wert ist für alle Benutzeroberflächen-Frameworks gleich.
LocalizedControlTypeProperty „Liste“ Lokalisierte Zeichenfolge für den Steuerelementtyp „List“.
IsContentElementProperty True Das Listensteuerelement ist stets in der Inhaltsansicht der Struktur der Benutzeroberflächenautomatisierung enthalten.
IsControlElementProperty True Das Listensteuerelement ist stets in der Steuerelementansicht der Struktur der Benutzeroberflächenautomatisierung enthalten.
IsKeyboardFocusableProperty True Wenn der Container Tastatureingaben akzeptieren kann, sollte dieser Eigenschaftswert „True“ sein.
HelpTextProperty Siehe Hinweise. Der Hilfetext für Listensteuerelemente sollte erläutern, warum der Benutzer aufgefordert wird, aus einer Liste von Optionen auszuwählen. Beispiel: „Durch Auswählen eines Elements in dieser Liste wird die Anzeigeauflösung für den Bildschirm festgelegt.“

Erforderliche Benutzeroberflächenautomatisierungs-Steuerelementmuster und -Eigenschaften

In der folgenden Tabelle sind die Steuerelementmuster der Benutzeroberflächenautomatisierung aufgeführt, die von Listensteuerelementen unterstützt werden müssen. Weitere Informationen zu Steuerelementmustern finden Sie unter UI Automation Control Patterns Overview.

Steuerelementmuster/Mustereigenschaft Unterstützung/Wert Notizen
ISelectionProvider Erforderlich Alle Steuerelemente, die den Steuerelementtyp „List“ unterstützen, müssen ISelectionProvider implementieren, wenn der Auswahlzustand der im Steuerelement enthaltenen Elemente beibehalten wird. Wenn die Elemente innerhalb des Containers nicht auswählbar sind, muss der Steuerelementtyp Steuerelementtyp „Group“ verwendet werden.
IsSelectionRequired Depends (Abhängig) In einem Listensteuerelement muss nicht immer ein Element ausgewählt sein.
CanSelectMultiple Depends (Abhängig) Listensteuerelemente können Container für Einfach- oder Mehrfachauswahl sein.
IScrollProvider Depends (Abhängig) Implementieren Sie dieses Steuerelementmuster, wenn Elemente im Container bildlauffähig sind.
IGridProvider Depends (Abhängig) Implementieren Sie dieses Muster, wenn die Rasternavigation auf Grundlage einzelner Elemente zur Verfügung stehen soll.
IMultipleViewProvider Depends (Abhängig) Implementieren Sie dieses Steuerelementmuster, wenn das Steuerelement mehrere Ansichten für die Elemente im Container unterstützen soll.
ITableProvider Nie Für den Steuerelementtyp „List“ wirdITableProvider nie unterstützt. Wenn das Steuerelement dieses Steuerelementmuster unterstützen soll, sollte das Steuerelement auf dem Steuerelementtyp „DataGrid“ basieren.

Erforderliche Benutzeroberflächenautomatisierungs-Ereignisse

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

Ereignis der Benutzeroberflächenautomatisierung Unterstützung/Wert Hinweise
InvalidatedEvent Depends (Abhängig) Keine
LayoutInvalidatedEvent Depends (Abhängig) Keine
Durch geänderteBoundingRectangleProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteIsOffscreenProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteIsEnabledProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteCurrentViewProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteHorizontallyScrollableProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteHorizontalScrollPercentProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteHorizontalViewSizeProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteVerticalScrollPercentProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteVerticallyScrollableProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteVerticalViewSizeProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
AutomationFocusChangedEvent Erforderlich Keine
StructureChangedEvent Erforderlich Keine

Siehe auch