Freigeben über


Implementieren des Selection-Steuerelementmusters der Benutzeroberflächenautomatisierung

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.

In diesem Thema werden Richtlinien und Konventionen für die Implementierung ISelectionProvidervorgestellt, einschließlich Informationen zu Ereignissen 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 Steuerelementmusterzuordnung für Benutzeroberflächenautomatisierungs-Clients.

Implementierungsrichtlinien und -konventionen

Beachten Sie bei der Implementierung des Auswahlsteuerungsmusters 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 einen minimalen, maximalen und kontinuierlichen Bereich aufweisen, z. B. der Schieberegler Lautstärke, sollten IRangeValueProvider anstelle von ISelectionProvider implementieren.

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

Farbwähler mit Hervorhebung von Gelb. Beispiel für eine Zuordnung zwischen Farbmustern und Zeichenfolgen

  • Menüs unterstützen SelectionPattern nicht. Wenn Sie mit Menüelementen arbeiten, die sowohl Grafiken als auch Text enthalten (z. B. die Elemente des Vorschaubereichs im Menü "Ansicht " in Microsoft Outlook) und den Status vermitteln müssen, sollten Sie implementieren IToggleProvider.

Benötigte Mitglieder für ISelectionProvider

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

Erforderliche Mitglieder Typ Hinweise
CanSelectMultiple Eigentum Sollte durch Eigenschaften geänderte Ereignisse mithilfe von AddAutomationPropertyChangedEventHandler und RemoveAutomationPropertyChangedEventHandlerunterstützen.
IsSelectionRequired Eigentum Sollte durch Eigenschaften geänderte Ereignisse mithilfe von AddAutomationPropertyChangedEventHandler und RemoveAutomationPropertyChangedEventHandlerunterstützen.
GetSelection Methode Nichts
InvalidatedEvent Ereignis Wird ausgelöst, wenn sich eine Auswahl in einem Container erheblich geändert hat und das Senden von mehr Zusatz- und Entfernungsereignissen erfordert, als die InvalidateLimit-Konstante zulässt.

Die Eigenschaften IsSelectionRequired und CanSelectMultiple können dynamisch sein. Der Anfangszustand eines Steuerelements kann z. B. standardmäßig keine Elemente ausgewählt haben, was darauf hinweist, dass IsSelectionRequiredfalse ist. Nachdem ein Element ausgewählt wurde, muss das Steuerelement jedoch immer mindestens ein Element ausgewählt haben. In seltenen Fällen kann ein Steuerelement die Auswahl mehrerer Elemente bei der Initialisierung ermöglichen, aber anschließend nur einzelne Auswahlmöglichkeiten zulassen.

Ausnahmen

Anbieter müssen die folgenden Ausnahmen auslösen.

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

Siehe auch