Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler konzipiert, die die verwalteten Klassen zur Automatisierung der Benutzeroberfläche verwenden möchten, die im Namespace System.Windows.Automation definiert sind. Aktuelle Informationen zur Automatisierung der Benutzeroberfläche finden Sie auf der Seite zur Windows-Automatisierungs-API: Benutzeroberflächenautomatisierung.

Die Microsoft UI Automatisierungsereignisbenachrichtigung ist ein wesentliches Feature für Hilfstechnologien wie Sprachausgabe und Bildschirmlupe. Diese Benutzeroberflächenautomatisierungs-Clients überwachen Ereignisse, die von den Benutzeroberflächenautomatisierungs-Anbietern ausgelöst werden, wenn etwas auf der UI passiert, und verwenden diese Informationen dann, um Endbenutzer zu benachrichtigen.

Die Effizienz wird dadurch erhöht, dass Anbieteranwendungen Ereignisse selektiv (abhängig davon, ob Clients für diese Ereignisse abonniert sind) oder gar nicht auslösen dürfen (wenn kein Client auf Ereignisse wartet).

Ereignistypen

Benutzeroberflächenautomatisierungs-Ereignisse werden in die folgenden Kategorien unterteilt.

Ereignis Beschreibung
Eigenschaftenänderung Wird ausgelöst, wenn sich eine Eigenschaft eines UI Automatisierungselements oder -Steuerelementmusters ändert. Wenn ein Client beispielsweise das Kontrollkästchen-Steuerelement einer Anwendung überwachen muss, kann er sich mithilfe der ToggleState -Eigenschaft registrieren, um auf ein Eigenschaftenänderungsereignis zu warten. Wenn das Kontrollkästchen-Steuerelement aktiviert oder deaktiviert wird, löst der Anbieter das Ereignis aus, und der Client kann entsprechend reagieren.
Elementaktion Wird ausgelöst, wenn eine Änderung in der Benutzeroberfläche auf eine Aktivität des Endbenutzers oder eines Programmierers zurückzuführen ist, z. B. wenn eine Schaltfläche angeklickt oder über InvokePattern aufgerufen wird.
Strukturänderung Wird ausgelöst, wenn der Benutzeroberflächenautomatisierungs-Baum geändert wird. Die Struktur wird geändert, wenn neue Benutzeroberflächenelemente angezeigt, ausgeblendet oder vom Desktop entfernt werden.
Globale Desktopänderung Wird ausgelöst, wenn Aktionen auftreten, die für den Client von allgemeinem Interesse sind, z. B., wenn der Fokus von einem Element zum anderen wechselt oder ein Fenster geschlossen wird.

Einige Ereignisse bedeuten nicht zwangsläufig, dass sich der Zustand der Benutzeroberfläche geändert hat. Wenn der Benutzer zum Beispiel mit der Tabulatortaste zu einem Texteingabefeld wechselt und dann auf eine Schaltfläche klickt, um das Feld zu aktualisieren, wird ein TextChangedEvent ausgelöst, auch wenn der Benutzer den Text nicht geändert hat. Bei der Verarbeitung eines Ereignisses muss eine Clientanwendung möglicherweise erst überprüfen, ob sich tatsächlich etwas geändert hat, bevor eine Aktion ausgeführt wird.

Die folgenden Ereignisse können auch dann ausgelöst werden, wenn sich der Zustand der Benutzeroberfläche nicht geändert hat.

  • AutomationPropertyChangedEvent (abhängig von der Eigenschaft, die sich geändert hat)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Bezeichner für Benutzeroberlächen-Automatisierungsereignisse

Microsoft UI Automation-Ereignisse werden durch AutomationEvent-Objekte identifiziert. Die Id -Eigenschaft enthält einen Wert, der die Ereignisart eindeutig bezeichnet.

Die möglichen Werte für Id sind in der folgenden Tabelle zusammen mit dem für die Ereignisargumente verwendeten Typ aufgeführt. Beachten Sie, dass es sich bei den von Clients und Anbietern verwendeten Bezeichnern um Felder mit identischen Namen aus verschiedenen Klassen handelt.

Clientbezeichner Anbieterbezeichner Typ der Ereignisargumente
AutomationElement.AsyncContentLoadedEvent AutomationElementIdentifiers.AsyncContentLoadedEvent AsyncContentLoadedEventArgs
SelectionItemPattern.ElementAddedToSelectionEvent

SelectionItemPattern.ElementRemovedFromSelectionEvent

SelectionItemPattern.ElementSelectedEvent

SelectionPattern.InvalidatedEvent

InvokePattern.InvokedEvent

AutomationElement.LayoutInvalidatedEvent

AutomationElement.MenuClosedEvent

AutomationElement.MenuOpenedEvent

TextPattern.TextChangedEvent

TextPattern.TextSelectionChangedEvent

AutomationElement.ToolTipClosedEvent

AutomationElement.ToolTipOpenedEvent

WindowPattern.WindowOpenedEvent
SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent

SelectionItemPatternIdentifiers.ElementRemovedFromSelectionEvent

SelectionItemPatternIdentifiers.ElementSelectedEvent

SelectionPatternIdentifiers.InvalidatedEvent

InvokePatternIdentifiers.InvokedEvent

AutomationElementIdentifiers.LayoutInvalidatedEvent

AutomationElementIdentifiers.MenuClosedEvent

AutomationElementIdentifiers.MenuOpenedEvent

TextPatternIdentifiers.TextChangedEvent

TextPatternIdentifiers.TextSelectionChangedEvent

AutomationElementIdentifiers.ToolTipClosedEvent

AutomationElementIdentifiers.ToolTipOpenedEvent

WindowPatternIdentifiers.WindowOpenedEvent
AutomationEventArgs
AutomationElement.AutomationFocusChangedEvent AutomationElementIdentifiers.AutomationFocusChangedEvent AutomationFocusChangedEventArgs
AutomationElement.AutomationPropertyChangedEvent AutomationElementIdentifiers.AutomationPropertyChangedEvent AutomationPropertyChangedEventArgs
AutomationElement.StructureChangedEvent AutomationElementIdentifiers.StructureChangedEvent StructureChangedEventArgs
WindowPattern.WindowClosedEvent WindowPatternIdentifiers.WindowClosedEvent WindowClosedEventArgs

Argumente für Benutzeroberlächen-Automatisierungsereignisse

Die folgenden Klassen kapseln Ereignisargumente.

Klasse Beschreibung
AsyncContentLoadedEventArgs Enthält Informationen zum asynchronen Laden von Inhalt, einschließlich des bereits abgeschlossenen Ladevorgangs in Prozent.
AutomationEventArgs Enthält Informationen über ein einfaches Ereignis, das keine zusätzlichen Daten erfordert.
AutomationFocusChangedEventArgs Enthält Informationen zur Änderung des Eingabefokus von einem Element zu einem anderen. Ereignisse dieses Typs werden durch das UI Automatisierungssystem ausgelöst, nicht durch Anbieter.
AutomationPropertyChangedEventArgs Enthält Informationen zur Änderung eines Eigenschaftswerts eines Elements oder Steuerelementmusters.
StructureChangedEventArgs Enthält Informationen zu einer Änderung in der -Struktur.
WindowClosedEventArgs Enthält Informationen zum Schließen eines Fensters.

Alle Ereignisargumentklassen enthalten einen EventId -Member. Dieser Bezeichner wird in einem AutomationEventgekapselt.

Die zur Identifizierung von Ereignissen verwendeten AutomationEvent -Objekte werden durch Anbieter aus Feldern in AutomationElementIdentifiers und Klassen für Steuerelementmuster-Bezeichner, wie beispielsweise DockPatternIdentifiers, abgerufen. Von Clientanwendungen werden die entsprechenden Felder aus Feldern in AutomationElement und Steuerelementmusterklassen, wie z. B. DockPattern, abgerufen.

Eine Liste der Ereignisbezeichner finden Sie unter UI Automation Events for Clients.

Siehe auch