Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse

HinweisHinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten UI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.Aktuelle Informationen zu UI Automation finden Sie unter Windows Automation API: UI Automation.

Die Microsoft UI Automation-Ereignisbenachrichtigung ist ein wesentliches Feature für Hilfstechnologien wie Bildschirmsprachausgaben und Bildschirmlupen. Diese Benutzeroberflächenautomatisierungs-Clients erfassen Ereignisse, die von Benutzeroberflächenautomatisierungs-Anbietern ausgelöst werden, wenn etwas in der UI passiert. Dann verwenden sie die Informationen, um Benutzer 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).

Dieses Thema enthält folgende Abschnitte.

  • Ereignistypen
  • Bezeichner für Benutzeroberflächenautomatisierungs-Ereignisse
  • Argumente für Benutzeroberflächenautomatisierungs-Ereignisse
  • Verwandte Abschnitte

Ereignistypen

UI Automation-Ereignisse werden in folgende Kategorien unterteilt.

Ereignis

Beschreibung

Eigenschaftenänderung

Wird ausgelöst, wenn sich eine Eigenschaft eines UI Automation-Elements 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 UI durch einen Endbenutzer oder eine programmgesteuerte Aktivität erfolgt, beispielsweise, wenn auf eine Schaltfläche geklickt oder durch InvokePattern aktiviert wird.

Strukturänderung

Wird ausgelöst, wenn sich die Struktur der UI Automation-Struktur ändert. Die Struktur ändert sich, wenn neue UI-Elemente auf dem Desktop sichtbar, ausgeblendet oder 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 unbedingt, 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 tatsächlich 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 Benutzeroberflächenautomatisierungs-Ereignisse

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 Benutzeroberflächenautomatisierungs-Ereignisse

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 Automation-System 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 UI Automation-Struktur.

WindowClosedEventArgs

Enthält Informationen zum Schließen eines Fensters.

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

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

Eine Liste mit Ereignisbezeichnern finden Sie in Benutzeroberflächenautomatisierungs-Ereignisse für Clients.

Siehe auch

Aufgaben

Abonnieren von Benutzeroberflächenautomatisierungs-Ereignissen

Konzepte

Benutzeroberflächenautomatisierungs-Ereignisse für Clients

Implementierung eines serverseitigen Benutzeroberflächenautomatisierungs-Anbieters