Übersicht über Benutzeroberflächenautomatisierungs-EreignisseUI Automation Events Overview

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten BenutzeroberflächenautomatisierungUI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.This documentation is intended for .NET Framework developers who want to use the managed BenutzeroberflächenautomatisierungUI Automation classes defined in the System.Windows.Automation namespace. Die neuesten Informationen zu BenutzeroberflächenautomatisierungUI Automationfinden Sie unter Windows Automation-API: Automatisierungder Benutzeroberfläche.For the latest information about BenutzeroberflächenautomatisierungUI Automation, see Windows Automation API: UI Automation.

DieMicrosoft-UI-AutomatisierungMicrosoft UI Automation -Ereignisbenachrichtigung ist ein wesentliches Feature für Hilfstechnologien wie Sprachausgabe und Bildschirmlupe.Microsoft-UI-AutomatisierungMicrosoft UI Automation event notification is a key feature for assistive technologies such as screen readers and screen magnifiers. Diese Benutzeroberflächenautomatisierungs-Clients überwachen Ereignisse, die von den Benutzeroberflächenautomatisierungs-Anbietern ausgelöst werden, wenn etwas auf der UIUI passiert, und verwenden diese Informationen dann, um Endbenutzer zu benachrichtigen.These UI Automation clients track events that are raised by UI Automation providers when something happens in the UIUI and use the information to notify end users.

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).Efficiency is improved by allowing provider applications to raise events selectively, depending on whether any clients are subscribed to those events, or not at all, if no clients are listening for any events.

EreignistypenTypes of Events

BenutzeroberflächenautomatisierungUI Automation -Ereignisse werden in die folgenden Kategorien eingeteilt:events fall into the following categories.

eventEvent BeschreibungDescription
EigenschaftenänderungProperty change Wird ausgelöst, wenn sich eine Eigenschaft eines BenutzeroberflächenautomatisierungUI Automation -Elements oder -Steuerelementmusters ändert.Raised when a property on an BenutzeroberflächenautomatisierungUI Automation element or control pattern changes. 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.For example, if a client needs to monitor an application's check box control, it can register to listen for a property change event on the ToggleState property. Wenn das Kontrollkästchen-Steuerelement aktiviert oder deaktiviert wird, löst der Anbieter das Ereignis aus, und der Client kann entsprechend reagieren.When the check box control is checked or unchecked, the provider raises the event and the client can act as necessary.
ElementaktionElement action Wird ausgelöst, wenn eine Änderung in der UIUI durch einen Endbenutzer oder eine programmgesteuerte Aktivität erfolgt, beispielsweise, wenn auf eine Schaltfläche geklickt oder diese durch InvokePatternaktiviert wird.Raised when a change in the UIUI results from end user or programmatic activity; for example, when a button is clicked or invoked through InvokePattern.
StrukturänderungStructure change Wird ausgelöst, wenn sich die Struktur der BenutzeroberflächenautomatisierungUI Automation -Struktur ändert.Raised when the structure of the BenutzeroberflächenautomatisierungUI Automation tree changes. Die Struktur ändert sich, wenn neue UIUI -Elemente auf dem Desktop eingeblendet, ausgeblendet oder entfernt werden.The structure changes when new UIUI items become visible, hidden, or removed on the desktop.
Globale DesktopänderungGlobal desktop change 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.Raised when actions of global interest to the client occur, such as when the focus shifts from one element to another, or when a window closes.

Einige Ereignisse bedeuten nicht zwangsläufig, dass sich der Zustand der Benutzeroberfläche geändert hat.Some events do not necessarily mean that the state of the UI has changed. 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.For example, if the user tabs to a text entry field and then clicks a button to update the field, a TextChangedEvent is raised even if the user did not actually change the text. 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.When processing an event, it may be necessary for a client application to check whether anything has actually changed before taking action.

Die folgenden Ereignisse können auch dann ausgelöst werden, wenn sich der Zustand der Benutzeroberfläche nicht geändert hat.The following events may be raised even when the state of the UI has not changed.

  • AutomationPropertyChangedEvent (abhängig von der Eigenschaft, die sich geändert hat)AutomationPropertyChangedEvent (depending on the property that has changed)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Bezeichner für Benutzeroberlächen-AutomatisierungsereignisseUI Automation Event Identifiers

Microsoft-UI-AutomatisierungMicrosoft UI Automation -Ereignisse werden mit AutomationEvent -Objekten gekennzeichnet.events are identified by AutomationEvent objects. Die Id -Eigenschaft enthält einen Wert, der die Ereignisart eindeutig bezeichnet.The Id property contains a value that uniquely identifies the kind of event.

Die möglichen Werte für Id sind in der folgenden Tabelle zusammen mit dem für die Ereignisargumente verwendeten Typ aufgeführt.The possible values for Id are given in the following table, along with the type used for event arguments. Beachten Sie, dass es sich bei den von Clients und Anbietern verwendeten Bezeichnern um Felder mit identischen Namen aus verschiedenen Klassen handelt.Note that the identifiers used by clients and providers are identically named fields from different classes.

ClientbezeichnerClient Identifier AnbieterbezeichnerProvider identifier Typ der EreignisargumenteEvent Arguments Type
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-AutomatisierungsereignisseUI Automation Event Arguments

Die folgenden Klassen kapseln Ereignisargumente.The following classes encapsulate event arguments.

KlasseClass BeschreibungDescription
AsyncContentLoadedEventArgs Enthält Informationen zum asynchronen Laden von Inhalt, einschließlich des bereits abgeschlossenen Ladevorgangs in Prozent.Contains information about the asynchronous loading of content, including the percentage of loading completed.
AutomationEventArgs Enthält Informationen über ein einfaches Ereignis, das keine zusätzlichen Daten erfordert.Contains information about a simple event that requires no extra data.
AutomationFocusChangedEventArgs Enthält Informationen zur Änderung des Eingabefokus von einem Element zu einem anderen.Contains information about a change in input focus from one element to another. Ereignisse dieses Typs werden durch das BenutzeroberflächenautomatisierungUI Automation -System ausgelöst, nicht durch Anbieter.Events of this type are raised by the BenutzeroberflächenautomatisierungUI Automation system, not by providers.
AutomationPropertyChangedEventArgs Enthält Informationen zur Änderung eines Eigenschaftswerts eines Elements oder Steuerelementmusters.Contains information about a change in a property value of an element or control pattern.
StructureChangedEventArgs Enthält Informationen zu einer Änderung in der BenutzeroberflächenautomatisierungUI Automation -Struktur.Contains information about a change in the BenutzeroberflächenautomatisierungUI Automation tree.
WindowClosedEventArgs Enthält Informationen zum Schließen eines Fensters.Contains information about a window closing.

Alle Ereignisargumentklassen enthalten einen EventId -Member.All the event argument classes contain an EventId member. Dieser Bezeichner wird in einem AutomationEventgekapselt.This identifier is encapsulated in an AutomationEvent.

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.The AutomationEvent objects used to identify events are obtained by providers from fields in AutomationElementIdentifiers and control pattern identifier classes such as DockPatternIdentifiers. Von Clientanwendungen werden die entsprechenden Felder aus Feldern in AutomationElement und Steuerelementmusterklassen, wie z. B. DockPattern, abgerufen.The equivalent fields are obtained by client applications from fields in AutomationElement and control pattern classes such as DockPattern.

Eine Liste der Ereignisbezeichner finden Sie unter UI Automation Events for Clients.For a list of event identifiers, see UI Automation Events for Clients.

Siehe auchSee also