Freigeben über


Implementieren des Benutzeroberflächenautomatisierungs-ExpandCollapse-Steuerelementmusters

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 von IExpandCollapseProvidervorgestellt, einschließlich Informationen zu Eigenschaften, Methoden und Ereignissen. Links zu zusätzlichen Verweisen werden am Ende der Übersicht aufgeführt.

Das ExpandCollapsePattern Steuerelementmuster wird verwendet, um Steuerelemente zu unterstützen, die visuell erweitert werden, um mehr Inhalt anzuzeigen und zu reduzieren, um Inhalte auszublenden. 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 ExpandCollapse-Steuerelementmusters die folgenden Richtlinien und Konventionen:

  • Aggregatsteuerelemente , die mit untergeordneten Objekten erstellt werden, die die Benutzeroberfläche mit Erweiterungs-/Reduzieren-Funktionalität bereitstellen, müssen das ExpandCollapsePattern Steuerelementmuster unterstützen, während die untergeordneten Elemente nicht vorhanden sind. Beispielsweise wird ein Kombinationsfeld-Steuerelement mit einer Kombination aus Listenfeld-, Schaltflächen- und Bearbeitungssteuerelementen erstellt, aber es handelt sich nur um das übergeordnete Kombinationsfeld, das das ExpandCollapsePatternSteuerelement unterstützen muss.

    Hinweis

    Eine Ausnahme ist das Menüsteuerelement, bei dem es sich um ein Aggregat einzelner MenuItem-Objekte handelt. Die MenuItem-Objekte können das ExpandCollapsePattern Steuerelementmuster unterstützen, das übergeordnete Menüsteuerelement kann jedoch nicht unterstützt werden. Eine ähnliche Ausnahme gilt für die Steuerelemente "Struktur" und "Strukturelement".

  • Wenn das ExpandCollapseState Steuerelement auf LeafNode festgelegt ist, ist jede ExpandCollapsePattern Funktionalität für das Steuerelement derzeit inaktiv, und die einzigen Informationen, die mit diesem Steuerelementmuster abgerufen werden können, sind die ExpandCollapseState. Wenn anschließend untergeordnete Objekte hinzugefügt werden, werden die ExpandCollapseState Änderungen und ExpandCollapsePattern Funktionen aktiviert.

  • ExpandCollapseState bezieht sich nur auf die Sichtbarkeit von unmittelbar untergeordneten Objekten; sie bezieht sich nicht auf die Sichtbarkeit aller untergeordneten Objekte.

  • Die Funktionalität zum Erweitern und Reduzieren ist steuerspezifisch. Im Folgenden sind Beispiele für dieses Verhalten aufgeführt.

    • Das persönliche Office-Menü kann ein dreistufiges MenuItem -Element (Expandedund PartiallyExpanded) sein, in dem das Steuerelement den Status angibt, Collapsed der angenommen werden soll, wenn eine Expand oder Collapse eine aufgerufen wird.

    • Das Aufrufen Expand eines TreeItem-Objekts kann alle Untergeordneten oder nur direkte untergeordnete Elemente anzeigen.

    • Wenn das Aufrufen oder Collapse Einblenden Expand eines Steuerelements den Status seiner Nachfolger verwaltet, sollte ein Sichtbarkeitsänderungsereignis gesendet werden, kein Zustandsänderungsereignis, wenn das übergeordnete Steuerelement den Status seiner Nachfolger beim Reduzieren nicht verwaltet, kann das Steuerelement alle Untergeordneten zerstören, die nicht mehr sichtbar sind und ein zerstörtes Ereignis auslösen; oder es kann dies ExpandCollapseState für jedes untergeordnete Element ändern und ein Sichtbarkeitsänderungsereignis auslösen.

  • Um die Navigation zu gewährleisten, ist es wünschenswert, dass sich ein Objekt unabhängig von seinen übergeordneten Elementen ExpandCollapseStatein der Benutzeroberflächenautomatisierungs-Struktur (mit entsprechendem Sichtbarkeitszustand) befinden soll. Wenn Nachfolger bei Bedarf generiert werden, werden sie möglicherweise erst nach der ersten Anzeige oder nur während der Anzeige in der Benutzeroberflächenautomatisierungsstruktur angezeigt.

Erforderliche Elemente für IExpandCollapseProvider

Die folgenden Eigenschaften und Methoden sind für die Implementierung IExpandCollapseProvidererforderlich.

Erforderliche Mitglieder Memberart Hinweise
ExpandCollapseState Eigentum Nichts
Expand Methode Nichts
Collapse Methode Nichts
AutomationPropertyChangedEventHandler Ereignis Dieses Steuerelement hat keine zugeordneten Ereignisse; verwenden Sie diesen generischen Delegat.

Ausnahmen

Anbieter müssen die folgenden Ausnahmen auslösen.

Ausnahmetyp Zustand
InvalidOperationException Eine Expand oder Collapse wird aufgerufen, wenn die ExpandCollapseState = LeafNode.

Siehe auch