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 NameProperty
verfü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 |