Implementieren des ExpandCollapse-Steuerelementmusters der Benutzeroberflächenautomatisierung
Hinweis |
---|
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.
Hinweis 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 |
---|---|---|
Eigenschaft |
Keine |
|
Methode |
Keine |
|
Methode |
Keine |
|
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 |
---|---|
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