Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 IInvokeProvidervorgestellt, einschließlich Informationen zu Ereignissen und Eigenschaften. Links zu zusätzlichen Referenzen sind am Ende dieses Themas aufgelistet.
Das InvokePattern Steuerelementmuster wird verwendet, um Steuerelemente zu unterstützen, die den Zustand nicht beibehalten, wenn sie aktiviert werden, sondern eine einzelne, eindeutige Aktion initiieren oder ausführen. Steuerelemente, deren Zustand verwaltet wird (etwa Kontrollkästchen und Optionsfelder), müssen stattdessen IToggleProvider bzw. ISelectionItemProvider implementieren. Beispiele für Steuerelemente, die das Aufruf-Steuerelementmuster implementieren, finden Sie unter Steuerelementmusterzuordnung für Benutzeroberflächenautomatisierungs-Clients.
Implementierungsrichtlinien und -konventionen
Beachten Sie beim Implementieren des Invoke-Steuerelementmusters die folgenden Richtlinien und Konventionen:
Steuerelemente implementieren IInvokeProvider , wenn das gleiche Verhalten nicht durch einen anderen Steuerelementmuster-Anbieter verfügbar gemacht wird. Wenn die Methode Invoke für ein Steuerelement dieselbe Aktion wie die Methode Expand oder Collapse ausführt, sollte das Steuerelement IInvokeProvider nicht implementieren.
Das Aufrufen eines Steuerelements erfolgt in der Regel durch Klicken oder Doppelklicken oder Drücken der EINGABETASTE, einer vordefinierten Tastenkombination oder einer alternativen Tastenkombination.
InvokedEvent wird für ein aktiviertes Steuerelement ausgelöst (als Reaktion auf ein Steuerelement, das seine zugeordnete Aktion ausführt). Wenn möglich, sollte das Ereignis ausgelöst werden, nachdem das Steuerelement die Aktion abgeschlossen und ohne Blockieren zurückgegeben wurde. In den folgenden Szenarien sollte das Invoked-Ereignis ausgelöst werden, bevor die Invoke-Anforderung verarbeitet wird:
Es ist nicht möglich oder praktisch, bis die Aktion abgeschlossen ist.
Für die Aktion ist eine Benutzerinteraktion erforderlich.
Die Aktion ist zeitaufwändig und bewirkt, dass der aufrufende Client für einen erheblichen Zeitraum blockiert wird.
Wenn das Aufrufen des Steuerelements erhebliche Nebenwirkungen hat, sollten diese Nebenwirkungen über die HelpText Eigenschaft verfügbar gemacht werden. Selbst wenn Invoke nicht mit der Auswahl verknüpft ist, kann Invoke dazu führen, dass ein anderes Steuerelement ausgewählt wird.
Hover- oder Mauszeigereffekte stellen in der Regel kein ausgelöstes Ereignis dar. Steuerelemente, die anhand des Hoverzustands eine Aktion ausführen (im Gegensatz zu einem visuellen Effekt), sollten das InvokePattern-Steuerungsmuster unterstützen.
Hinweis
Diese Implementierung wird als Barrierefreiheitsproblem betrachtet, wenn das Steuerelement nur als Ergebnis eines mausbezogenen Nebeneffekts aufgerufen werden kann.
Das Aufrufen eines Steuerelements unterscheidet sich von der Auswahl eines Elements. Je nach Steuerelement kann das Aufrufen des Elements jedoch dazu führen, dass das Element als Nebeneffekt ausgewählt wird. Wenn Sie beispielsweise ein Microsoft Word-Dokumentlistenelement im Ordner "Eigene Dokumente" aufrufen, wird das Element ausgewählt und das Dokument geöffnet.
Ein Element kann sofort nach dem Aufrufen aus der Benutzeroberflächenautomatisierungs-Struktur verschwinden. Das Anfordern von Informationen aus dem vom Ereignisrückruf bereitgestellten Element schlägt möglicherweise fehl. Das Vorabrufen zwischengespeicherter Informationen ist die empfohlene Problemumgehung.
Steuerelemente können mehrere Steuerelementmuster implementieren. Beispielsweise implementiert das Füllfarben-Steuerelement auf der Microsoft Excel-Symbolleiste sowohl das InvokePattern- als auch das ExpandCollapsePattern-Steuerelementmuster. ExpandCollapsePattern macht das Menü verfügbar, und die InvokePattern aktive Auswahl wird mit der ausgewählten Farbe gefüllt.
Erforderliche Mitglieder für IInvokeProvider
Die folgenden Eigenschaften und Methoden sind für das Implementieren von IInvokeProvidererforderlich.
| Erforderliche Mitglieder | Memberart | Hinweise |
|---|---|---|
| Invoke | Methode |
Invoke ist ein asynchroner Aufruf und muss sofort ohne Blockierung zurückgegeben werden. Dieses Verhalten ist besonders für Steuerelemente wichtig, die beim Aufrufen direkt oder indirekt ein modales Dialogfeld starten. Jeder Benutzeroberflächenautomatisierungs-Client, der das Ereignis ausgelöst hat, bleibt blockiert, bis das modale Dialogfeld geschlossen wird. |
Ausnahmen
Anbieter müssen die folgenden Ausnahmen auslösen.
| Ausnahmetyp | Zustand |
|---|---|
| ElementNotEnabledException | Wenn das Steuerelement nicht aktiviert ist. |
Siehe auch
- Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung
- Unterstützung von Steuerelementmustern in einem Benutzeroberflächenautomatisierungs-Anbieter
- Steuerelementmuster für Benutzeroberflächenautomatisierung für Clients
- Aufrufen eines Steuerelements mithilfe der Benutzeroberflächenautomatisierung
- UI-Automatisierungsstruktur Übersicht
- Verwenden der Zwischenspeicherung in der Benutzeroberflächenautomatisierung