Ü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.
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.