Aufrufen des Steuerelementmusters
Beschreibt Richtlinien und Konventionen für die Implementierung von IInvokeProvider,einschließlich Informationen zu Methoden. Das Invoke-Steuerelementmuster wird verwendet, um Steuerelemente zu unterstützen, die bei der Aktivierung keinen Zustand behalten, sondern stattdessen eine einzelne, eindeutige Aktion initiieren oder ausführen.
Steuerelemente, die den Zustand verwalten, z. B. Kontrollkästchen und Optionsfelder, müssen stattdessen IToggleProvider bzw. ISelectionProvider implementieren. Beispiele für Steuerelemente, die dieses Steuerelementmuster implementieren, finden Sie unter Steuerelementtypen und ihre unterstützten Steuerelementmuster.
Dieses Thema enthält folgende Abschnitte:
- Implementierungsrichtlinien und -konventionen
- Erforderliche Member für IInvokeProvider
- Zugehörige Themen
Implementierungsrichtlinien und -konventionen
Beachten Sie beim Implementieren des Invoke-Steuerelementmusters die folgenden Richtlinien und Konventionen:
Steuerelemente implementieren IInvokeProvider, wenn das gleiche Verhalten nicht über einen anderen Steuerelementmusteranbieter verfügbar gemacht wird. Wenn beispielsweise die IUIAutomationInvokePattern::Invoke-Methode für ein Steuerelement dieselbe Aktion wie die IUIAutomationExpandCollapsePattern::Expand- oder Collapse-Methode ausführt, sollte das Steuerelement IInvokeProvider nicht implementieren.
Ein Steuerelement wird normalerweise durch Klicken, Doppelklicken, Drücken der EINGABETASTE oder durch eine vordefinierte oder alternative Tastenkombination aufgerufen.
Das Invoked-Ereignis (UIA _ Invoke _ InvokedEventId) wird für ein Steuerelement ausgelöst, das aktiviert wurde (als Antwort auf ein Steuerelement, das seine zugeordnete Aktion führt). Sofern möglich, sollte das Ereignis ausgelöst werden, nachdem das Steuerelement die Aktion abgeschlossen hat und ohne Blockierung zurückgekehrt ist. Das Invoked-Ereignis (UIA _ _ InvokedEventId) sollte ausgelöst werden, bevor die Invoke-Anforderung in den folgenden Szenarien bedient wird:
- Es ist nicht möglich oder zweckmäßig, bis zum Abschluss der Aktion zu warten.
- Die Aktion erfordert eine Benutzeraktion.
- Die Aktion ist zeitaufwändig und führt dazu, dass der aufrufende Client für einen längeren Zeitraum blockiert wird.
Wenn das Aufrufen des Steuerelements erhebliche Nebeneffekte hat, sollten diese Nebeneffekte über die HelpText-Eigenschaft verfügbar gemacht werden. Obwohl beispielsweise IUIAutomationInvokePattern::Invoke nicht der Auswahl zugeordnet ist, kann Invoke dazu führen, dass ein anderes Steuerelement ausgewählt wird.
Mauszeigereffekte (oder Mausovereffekte) stellen im Allgemeinen kein Invoked-Ereignis dar. Steuerelemente, die eine Aktion ausführen (anstatt einen visuellen Effekt zu verursachen), die auf dem Hoverzustand basieren, sollten jedoch das Invoke-Steuerelementmuster unterstützen.
Hinweis
Diese Implementierung wird als Problem für Barrierefreiheit betrachtet, wenn das Steuerelement nur als Ergebnis eines mausbezogenen Nebeneffekts aufgerufen werden kann.
Das Aufrufen eines Steuerelements unterscheidet sich vom Auswählen eines Elements. Abhängig vom Steuerelement kann das Aufrufen jedoch möglicherweise den Nebeneffekt haben, dass das Element ausgewählt wird. Wenn Sie z. B. Microsoft Word Dokumentlistenelement im Ordner Eigene Dokumente, wird das Element ausgewählt und das Dokument geöffnet.
Ein Element kann direkt nach dem Aufruf aus Benutzeroberflächenautomatisierung Microsoft-Struktur nicht mehr angezeigt werden. Dies kann zur Folge haben, dass das Anfordern von Informationen von dem Element, die durch den Ereignisrückruf bereitgestellt werden, fehlschlägt. Als Problemlösung wird empfohlen, zwischengespeicherte Informationen vorab abzurufen.
Steuerelemente können mehrere Steuerelementmuster implementieren. Beispielsweise implementiert das Steuerelement Füllfarbe auf Microsoft Excel Symbolleiste sowohl das Invoke- als auch das ExpandCollapse-Steuerelementmuster. Das ExpandCollapse-Steuerelementmuster macht das Menü verfügbar, und das Invoke-Steuerelementmuster füllt die aktive Auswahl mit der ausgewählten Farbe aus.
Erforderliche Member für IInvokeProvider
Die folgende Methode ist für die Implementierung der IInvokeProvider-Schnittstelle erforderlich.
| Erforderliche Member | Memberart | Hinweise |
|---|---|---|
| Invoke | Methode | Invoke ist ein asynchroner Aufruf und muss sofort ohne Blockierung zurückgeben. Dieses Verhalten ist insbesondere für Steuerelemente wichtig, die direkt oder indirekt ein modales Dialogfeld starten, wenn sie aufgerufen werden. Jeder Benutzeroberflächenautomatisierungs-Client, der das Ereignis ausgelöst hat, bleibt blockiert, bis das modale Dialogfeld geschlossen wird. |
Diesem Steuerelementmuster sind keine Eigenschaften oder Ereignisse zugeordnet.