Overzicht van UI Automation-gebeurtenissen
Notitie
Deze documentatie is bedoeld voor .NET Framework-ontwikkelaars die de beheerde UI Automation-klassen willen gebruiken die zijn gedefinieerd in de System.Windows.Automation naamruimte. Zie Windows Automation-API: UI Automation voor de meest recente informatie over UI Automation.
Microsoft UI Automation-gebeurtenismelding is een belangrijke functie voor ondersteunende technologieën, zoals schermlezers en schermvergrotingen. Deze UI Automation-clients houden gebeurtenissen bij die worden gegenereerd door UI Automation-providers wanneer er iets gebeurt in de gebruikersinterface en de informatie gebruiken om eindgebruikers op de hoogte te stellen.
De efficiëntie wordt verbeterd doordat providertoepassingen selectief gebeurtenissen kunnen genereren, afhankelijk van of clients zijn geabonneerd op deze gebeurtenissen, of helemaal niet, als er geen clients naar gebeurtenissen luisteren.
Typen gebeurtenissen
UI Automation-gebeurtenissen worden onderverdeeld in de volgende categorieën.
Gebeurtenis | Beschrijving |
---|---|
Eigenschapswijziging | Wordt gegenereerd wanneer een eigenschap in een UI Automation-element of besturingspatroon verandert. Als een client bijvoorbeeld het selectievakjebesturingselement van een toepassing moet bewaken, kan deze zich registreren om te luisteren naar een gebeurtenis voor het wijzigen van eigenschappen op de ToggleState eigenschap. Wanneer het besturingselement selectievakje is ingeschakeld of uitgeschakeld, roept de provider de gebeurtenis op en kan de client indien nodig handelen. |
Elementactie | Gegenereerd wanneer een wijziging in de gebruikersinterface het resultaat is van een eindgebruiker of programmatische activiteit; Bijvoorbeeld wanneer er op een knop wordt geklikt of aangeroepen.InvokePattern |
Structuurwijziging | Gegenereerd wanneer de structuur van de UI Automation-structuur verandert. De structuur verandert wanneer nieuwe UI-items zichtbaar, verborgen of verwijderd worden op het bureaublad. |
Wijziging van het globale bureaublad | Gegenereerd wanneer acties van algemeen belang voor de client plaatsvinden, zoals wanneer de focus van het ene element naar het andere wordt verplaatst of wanneer een venster wordt gesloten. |
Sommige gebeurtenissen betekenen niet noodzakelijkerwijs dat de status van de gebruikersinterface is gewijzigd. Als de gebruiker bijvoorbeeld tabs naar een tekstinvoerveld en vervolgens op een knop klikt om het veld bij te werken, wordt er een TextChangedEvent
verhoogd, zelfs als de gebruiker de tekst niet daadwerkelijk heeft gewijzigd. Bij het verwerken van een gebeurtenis kan het nodig zijn dat een clienttoepassing controleert of iets daadwerkelijk is gewijzigd voordat actie wordt ondernomen.
De volgende gebeurtenissen kunnen worden gegenereerd, zelfs wanneer de status van de gebruikersinterface niet is gewijzigd.
AutomationPropertyChangedEvent
(afhankelijk van de eigenschap die is gewijzigd)ElementSelectedEvent
InvalidatedEvent
TextChangedEvent
Ui Automation-gebeurtenis-id's
Microsoft UI Automation-gebeurtenissen worden geïdentificeerd door AutomationEvent objecten. De Id eigenschap bevat een waarde die het type gebeurtenis uniek identificeert.
De mogelijke waarden Id worden gegeven in de volgende tabel, samen met het type dat wordt gebruikt voor gebeurtenisargumenten. Houd er rekening mee dat de id's die door clients en providers worden gebruikt, identieke benoemde velden uit verschillende klassen zijn.
Argumenten voor UI Automation-gebeurtenis
In de volgende klassen worden gebeurtenisargumenten ingekapseld.
Klas | Beschrijving |
---|---|
AsyncContentLoadedEventArgs | Bevat informatie over het asynchrone laden van inhoud, inclusief het percentage voltooide laden. |
AutomationEventArgs | Bevat informatie over een eenvoudige gebeurtenis waarvoor geen extra gegevens nodig zijn. |
AutomationFocusChangedEventArgs | Bevat informatie over een wijziging in de invoerfocus van het ene element naar het andere. Gebeurtenissen van dit type worden gegenereerd door het UI Automation-systeem, niet door providers. |
AutomationPropertyChangedEventArgs | Bevat informatie over een wijziging in een eigenschapswaarde van een element of besturingselementpatroon. |
StructureChangedEventArgs | Bevat informatie over een wijziging in de UI Automation-structuur. |
WindowClosedEventArgs | Bevat informatie over het sluiten van een venster. |
Alle gebeurtenisargumentklassen bevatten een EventId lid. Deze id wordt ingekapseld in een AutomationEvent.
De AutomationEvent objecten die worden gebruikt om gebeurtenissen te identificeren, worden verkregen door providers van velden in AutomationElementIdentifiers en patroon-id-klassen zoals DockPatternIdentifiers. De equivalente velden worden verkregen door clienttoepassingen van velden in AutomationElement en controlepatroonklassen zoals DockPattern.
Zie UI Automation-gebeurtenissen voor clients voor een lijst met gebeurtenis-id's.