Freigeben über


Implementieren des ExpandCollapse-Steuerelementmusters der Benutzeroberflächenautomatisierung

HinweisHinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten UI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.Aktuelle Informationen zu UI Automation finden Sie unter Windows Automation API: UI Automation.

In diesem Thema werden Richtlinien und Konventionen zum Implementieren von IExpandCollapseProvider vorgestellt und Eigenschaften, Methoden sowie Ereignisse erläutert. Am Ende der Übersicht finden Sie Links zu zusätzlichen Verweisen.

Das ExpandCollapsePattern-Steuerelementmuster dient zur Unterstützung von Steuerelementen, mit denen Inhalte ein- und ausgeblendet werden können. Beispiele für Steuerelemente, die dieses Steuerelementmuster implementieren, finden Sie unter Zuordnen von Steuerelementmustern für Benutzeroberflächenautomatisierungs-Clients.

Dieses Thema enthält folgende Abschnitte.

  • Implementierungsrichtlinien und Konventionen
  • Erforderliche Member für IExpandCollapseProvider
  • Ausnahmen
  • Verwandte Abschnitte

Implementierungsrichtlinien und Konventionen

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

  • Aggregatsteuerelemente – erstellt aus untergeordneten Objekten, mit denen in der Benutzeroberfläche Funktionen zum Ein-/Ausblenden bereitgestellt werden – müssen das ExpandCollapsePattern-Steuerelementmuster unterstützen, während dies für ihre untergeordneten Elemente nicht gilt. Ein Kombinationsfeld wird z. B. aus einer Kombination der Steuerelemente Listenfeld, Schaltfläche und Bearbeitungssteuerelement erstellt, nur das übergeordnete Kombinationsfeld muss jedoch das ExpandCollapsePattern unterstützen.

    HinweisHinweis

    Eine Ausnahme ist das Menüsteuerelement, das ein Aggregat einzelner MenuItem-Objekte darstellt.Die MenuItem-Objekte können das ExpandCollapsePattern-Steuerelementmuster unterstützen, das übergeordnete Menu-Steuerelement kann dies jedoch nicht.Eine ähnliche Ausnahme gilt für das Tree-Steuerelement und das Tree Item-Steuerelement.

  • Wenn der ExpandCollapseState eines Steuerelements auf LeafNode festgelegt wird, sind alle ExpandCollapsePattern-Funktionen für das Steuerelement inaktiv, und mit diesem Steuerelementmuster kann als Information nur der ExpandCollapseState abgerufen werden. Werden anschließend untergeordnete Objekte hinzugefügt, ändert sich der ExpandCollapseState, und die ExpandCollapsePattern-Funktionalität wird aktiviert.

  • ExpandCollapseState bezieht sich auf die Sichtbarkeit nur der unmittelbar untergeordneten Objekte, nicht auf die Sichtbarkeit aller untergeordneten Objekte.

  • Die Erweitern- und Reduzieren-Funktionalität ist steuerelementspezifisch. Es folgen Beispiele für dieses Verhalten.

    • Das persönliche Office-Menü kann ein MenuItem mit drei Zuständen sein (Expanded, Collapsed und PartiallyExpanded). Hier gibt das Steuerelement den Zustand an, der übernommen werden soll, wenn Expand oder Collapse aufgerufen wird.

    • Wenn Expand für ein TreeItem aufgerufen wird, werden eventuell alle untergeordneten oder nur unmittelbar untergeordnete Elemente angezeigt.

    • Wenn Expand oder Collapse für ein Steuerelement aufgerufen wird, bleibt der Zustand seiner untergeordneten Objekte bestehen, und es muss ein Sichtbarkeitsänderungsereignis, kein Zustandsänderungsereignis gesendet werden. Wenn das übergeordnete Steuerelement reduziert wird und den Zustand seiner untergeordneten Objekte nicht erhält, zerstört es unter Umständen alle untergeordneten Objekte, die nicht mehr sichtbar sind, und löst ein Zerstörungsereignis aus. Eventuell wird auch der ExpandCollapseState für jedes untergeordnete Objekt geändert und ein Sichtbarkeitsänderungsereignis ausgelöst.

  • Damit die Navigation möglich ist, sollte sich ein Objekt in der UI Automation-Struktur befinden (mit dem entsprechenden Sichtbarkeitsstatus), unabhängig vom ExpandCollapseState seiner übergeordneten Objekte. Wenn untergeordnete Objekte auf Abfrage generiert werden, können sie nur dann in der UI Automation-Struktur angezeigt werden, nachdem sie zum ersten Mal angezeigt wurden oder nur während sie sichtbar sind.

Erforderliche Member für IExpandCollapseProvider

Zum Implementieren von IExpandCollapseProvider werden die folgenden Eigenschaften und Methoden benötigt.

Erforderliche Member

Membertyp

Hinweise

ExpandCollapseState

Eigenschaft

Keine

Expand

Methode

Keine

Collapse

Methode

Keine

AutomationPropertyChangedEventHandler

Ereignis

Dieses Steuerelement verfügt über keine zugeordneten Ereignisse. Verwenden Sie diesen generischen Delegaten.

Ausnahmen

Anbieter müssen die folgenden Ausnahmen auslösen.

Ausnahmetyp

Bedingung

InvalidOperationException

Expand oder Collapse wird aufgerufen, wenn ExpandCollapseState = LeafNode.

Siehe auch

Aufgaben

Unterstützung von Steuerelementmustern in einem Benutzeroberflächenautomatisierungs-Anbieter

Navigieren zwischen Benutzeroberflächenautomatisierungs-Elementen mit TreeWalker

Verwenden der Zwischenspeicherung in der Benutzeroberflächenautomatisierung

Konzepte

Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung

Steuerelementmuster für Benutzeroberflächenautomatisierung für Clients

Übersicht über die Benutzeroberflächenautomatisierungs-Struktur