ExpandCollapse-Steuerelementmuster
Beschreibt Richtlinien und Konventionen für die Implementierung von IExpandCollapseProvider,einschließlich Informationen zu Eigenschaften, Methoden und Ereignissen. Das ExpandCollapse-Steuerelementmuster wird verwendet, um Steuerelemente zu unterstützen, die visuell erweitert werden, um mehr Inhalt anzuzeigen, und reduzieren, um Inhalt auszublenden.
Beispiele für Steuerelemente, die dieses Steuerelementmuster implementieren, finden Sie unter Steuerelementtypen und deren unterstützte Steuerelementmuster.
Dieses Thema enthält folgende Abschnitte:
- Implementierungsrichtlinien und -konventionen
- Erforderliche Member für IExpandCollapseProvider
- Zugehörige Themen
Implementierungsrichtlinien und -konventionen
Beachten Sie beim Implementieren des ExpandCollapse-Steuerelementmusters die folgenden Richtlinien und Konventionen:
Aggregatsteuerelemente, die mit untergeordneten Objekten erstellt wurden, die der Benutzeroberfläche Funktionen zum Erweitern/Reduzieren bieten, müssen das ExpandCollapse-Steuerelementmuster unterstützen, die untergeordneten Elemente hingegen nicht. Beispielsweise wird ein Kombinationsfeld-Steuerelement mit einer Kombination aus Listenfeld-, Schaltflächen- und Bearbeitungssteuerelementen erstellt, aber es ist nur das übergeordnete Kombinationsfeld, das das ExpandCollapse-Steuerelementmuster unterstützen muss.
Hinweis
Eine Ausnahme ist das Menüsteuerelement, das ein Aggregat einzelner Menüelementobjekte ist. Die Menüelementobjekte können das ExpandCollapse-Steuerelementmuster unterstützen, das übergeordnete Menüsteuerelement jedoch nicht. Eine ähnliche Ausnahme gilt für die Struktur- und Strukturelementsteuerelemente.
Wenn IExpandCollapseProvider::ExpandCollapseState eines Steuerelements auf ExpandCollapseState _ LeafNode festgelegt ist, sind alle ExpandCollapse-Funktionen für das Steuerelement derzeit inaktiv, und die einzigen Informationen, die mit diesem Steuerelementmuster abgerufen werden können, sind ExpandCollapseState. Wenn anschließend untergeordnete Objekte hinzugefügt werden, ändert sich expandCollapseState, und die ExpandCollapse-Funktionalität wird aktiviert.
ExpandCollapseState bezieht sich nur auf die Sichtbarkeit von unmittelbar untergeordneten Objekten. sie verweist nicht auf die Sichtbarkeit aller Nachfolgerobjekte.
Die IExpandCollapseProvider::Expand- und Collapse-Funktionalität ist steuerelementspezifisch. Im Folgenden finden Sie Beispiele dieses Verhaltens.
- Das Office Persönliches Menü kann ein Menüelement mit drei Zuständen ("Erweitert", "Reduziert" und "Teilweise erweitert") sein, in dem das Steuerelement den Zustand angibt, der beim Aufrufen von Erweitern oder Reduzieren angenommen werden soll.
- Beim Aufrufen von Erweitern für ein Strukturelement werden möglicherweise alle Nachfolger oder nur unmittelbar untergeordnete Elemente angezeigt.
- Wenn der Aufruf von Erweitern oder Reduzieren für ein Steuerelement den Zustand seiner Nachfolger beibehält, sollte ein Sichtbarkeitsänderungsereignis gesendet werden, kein Zustandsänderungsereignis. Wenn das übergeordnete Steuerelement beim Reduzieren nicht den Zustand seiner Nachfolger beibehält, kann das Steuerelement alle nachfolgerlichen Elemente zerstören, die nicht mehr sichtbar sind, und ein zerstörtes Ereignis auslösen. oder sie kann den ExpandCollapseState für jedes Nachfolger-Element ändern und ein Sichtbarkeitsänderungsereignis auslösen.
Um die Navigation zu gewährleisten, ist es wünschenswert, dass sich ein Objekt in der Microsoft Benutzeroberflächenautomatisierung-Struktur (mit entsprechendem Sichtbarkeitszustand) befindet, unabhängig von den zugehörigen expandCollapseState-Objekten. Wenn Nachfolger bei Bedarf generiert werden, werden sie möglicherweise nur in der Benutzeroberflächenautomatisierung-Struktur angezeigt, nachdem sie zum ersten Mal angezeigt wurden, oder nur, wenn sie sichtbar sind.
Erforderliche Member für IExpandCollapseProvider
Die folgenden Eigenschaften, Methoden und Ereignisse sind für die Implementierung der IExpandCollapseProvider-Schnittstelle erforderlich.
| Erforderliche Member | Memberart | Hinweise |
|---|---|---|
| Expandcollapsestate | Eigenschaft | Keine |
| Expand | Methode | Keine |
| Reduzieren | Methode | Keine |
| IUIAutomationPropertyChangedEventHandler | Ereignis | Diesem Steuerelement sind keine Ereignisse zugeordnet. verwenden Sie diesen generischen Ereignishandler. |