Implementieren des Selection-Steuerelementmusters der Benutzeroberflächenautomatisierung

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.

Dieses Thema enthält Richtlinien und Konventionen für das Implementieren von ISelectionProvider, einschließlich Informationen über Ereignisse und Eigenschaften. Links zu zusätzlichen Referenzen sind am Ende dieses Themas aufgelistet.

Das SelectionPattern -Steuerelementmuster wird zur Unterstützung von Steuerelementen verwendet, die als Container für eine Auflistung von auswählbaren untergeordneten Elementen dienen. Die untergeordneten Elemente dieses Elements müssen ISelectionItemProviderimplementieren. Beispiele für Steuerelemente, die dieses Steuerelementmuster implementieren, finden Sie unter Control Pattern Mapping for UI Automation Clients.

Implementierungsrichtlinien und -konventionen

Beachten Sie beim Implementieren des Selection-Steuerelementmusters die folgenden Richtlinien und Konventionen:

  • Steuerelemente, die ISelectionProvider implementieren, gestatten die Einfach- oder Mehrfachauswahl von untergeordneten Elementen. Listenfelder, Listenansichten und Strukturansichten unterstützen z. B. die Mehrfachauswahl, während Kombinationsfelder, Schieberegler und Optionsfeldgruppen die Einfachauswahl unterstützen.

  • Steuerelemente, die über ein Minimum, Maximum und einen zusammenhängenden Bereich verfügen, z. B. Lautstärke -Schieberegler, sollten IRangeValueProvider anstelle von ISelectionProviderimplementieren.

  • Steuerelemente mit Einfachauswahl, die untergeordnete Steuerelemente verwalten, die IRawElementProviderFragmentRoot implementieren, z. B. der Schieberegler Bildschirmauflösung im Dialogfeld Anzeigeeigenschaften oder das Auswahlsteuerelement Farbauswahl von Microsoft Word (unten dargestellt), sollten ISelectionProvider implementieren. Deren untergeordnete Elemente sollten sowohl IRawElementProviderFragment als auch ISelectionItemProvider implementieren.

Color picker with yellow highlighted. Beispiel für eine Zuordnung zwischen Farbmustern und Zeichenfolgen

  • Menüs unterstützen keine SelectionPattern. Wenn Sie mit Menüelementen arbeiten, die Text und Grafiken enthalten (z. B. die Vorschaufenster-Elemente im Menü Ansicht in Microsoft Outlook) und den Zustand übermitteln müssen, sollten Sie IToggleProvider implementieren.

Erforderliche Member für ISelectionProvider

Die folgenden Eigenschaften, Methoden und Ereignisse sind für die ISelectionProvider -Schnittstelle erforderlich.

Erforderliche Member type Notizen
CanSelectMultiple Eigenschaft Sollte durch Eigenschaften geänderte Ereignisse mithilfe von AddAutomationPropertyChangedEventHandler und RemoveAutomationPropertyChangedEventHandlerunterstützen.
IsSelectionRequired Eigenschaft Sollte durch Eigenschaften geänderte Ereignisse mithilfe von AddAutomationPropertyChangedEventHandler und RemoveAutomationPropertyChangedEventHandlerunterstützen.
GetSelection Methode Keine
InvalidatedEvent Ereignis Dieses wird ausgelöst, wenn die Auswahl in einem Container maßgeblich geändert wurde und dies das Senden weiterer Hinzufügen- und Entfernen-Ereignisse erfordert, als die InvalidateLimit -Konstante gestattet.

Die Eigenschaften IsSelectionRequired und CanSelectMultiple können dynamisch sein. Im anfänglichen Zustand eines Steuerelements sind z. B. möglicherweise standardmäßig keine Elemente ausgewählt, wodurch angezeigt wird, dass IsSelectionRequiredfalseist. Nach dem Auswählen eines Elements muss für das Steuerelement jedoch immer mindestens ein Element ausgewählt sein. Auf ähnliche Weise kann ein Steuerelement in seltenen Fällen bei der Initialisierung die Mehrfachauswahl von Elementen gestatten, während anschließend nur noch die Einfachauswahl zulässig ist.

Ausnahmen

Anbieter müssen die folgenden Ausnahmen auslösen.

Ausnahmetyp Bedingung
ElementNotEnabledException Wenn das Steuerelement nicht aktiviert ist.
InvalidOperationException Wenn das Steuerelement ausgeblendet ist.

Siehe auch