Översikt över UI Automation-händelser
Kommentar
Den här dokumentationen System.Windows.Automation är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i namnområdet. Den senaste informationen om UI Automation finns i Windows Automation API: UI Automation.
Microsoft UI Automation-händelsemeddelande är en viktig funktion för hjälpmedelstekniker som skärmläsare och skärmförstorare. Dessa UI Automation-klienter spårar händelser som genereras av UI Automation-leverantörer när något händer i användargränssnittet och använder informationen för att meddela slutanvändarna.
Effektiviteten förbättras genom att tillåta att providerprogram genererar händelser selektivt, beroende på om några klienter prenumererar på dessa händelser, eller inte alls, om inga klienter lyssnar efter några händelser.
Typer av händelser
UI Automation-händelser hör till följande kategorier.
Händelse | beskrivning |
---|---|
Egenskapsändring | Utlöses när en egenskap i ett UI Automation-element eller kontrollmönster ändras. Om en klient till exempel behöver övervaka ett programs kryssrutekontroll kan den registrera sig för att lyssna efter en egenskapsändringshändelse på ToggleState egenskapen. När kryssrutan är markerad eller avmarkerad genererar providern händelsen och klienten kan agera efter behov. |
Elementåtgärd | Utlöses när en ändring i användargränssnittet beror på slutanvändare eller programmatisk aktivitet. till exempel när en knapp klickas eller anropas via InvokePattern. |
Strukturändring | Upphöjt när strukturen för UI Automation-trädet ändras. Strukturen ändras när nya gränssnittsobjekt blir synliga, dolda eller borttagna på skrivbordet. |
Global skrivbordsändring | Utlöses när åtgärder av globalt intresse för klienten inträffar, till exempel när fokus flyttas från ett element till ett annat, eller när ett fönster stängs. |
Vissa händelser innebär inte nödvändigtvis att användargränssnittets tillstånd har ändrats. Om användaren till exempel flikar till ett textinmatningsfält och sedan klickar på en knapp för att uppdatera fältet, utlöses en TextChangedEvent
även om användaren faktiskt inte ändrade texten. När du bearbetar en händelse kan det vara nödvändigt för ett klientprogram att kontrollera om något faktiskt har ändrats innan du vidtar åtgärder.
Följande händelser kan uppstå även när användargränssnittets tillstånd inte har ändrats.
AutomationPropertyChangedEvent
(beroende på vilken egenskap som har ändrats)ElementSelectedEvent
InvalidatedEvent
TextChangedEvent
Händelseidentifierare för användargränssnittsautomatisering
Microsoft UI Automation-händelser identifieras av AutomationEvent objekt. Egenskapen Id innehåller ett värde som unikt identifierar typen av händelse.
Möjliga värden för Id anges i följande tabell, tillsammans med den typ som används för händelseargument. Observera att de identifierare som används av klienter och leverantörer är identiskt namngivna fält från olika klasser.
UI Automation-händelseargument
Följande klasser kapslar in händelseargument.
Klass | beskrivning |
---|---|
AsyncContentLoadedEventArgs | Innehåller information om asynkron inläsning av innehåll, inklusive procentandelen slutförd inläsning. |
AutomationEventArgs | Innehåller information om en enkel händelse som inte kräver några extra data. |
AutomationFocusChangedEventArgs | Innehåller information om en ändring i indatafokus från ett element till ett annat. Händelser av den här typen genereras av UI Automation-systemet, inte av leverantörer. |
AutomationPropertyChangedEventArgs | Innehåller information om en ändring i ett egenskapsvärde för ett element eller kontrollmönster. |
StructureChangedEventArgs | Innehåller information om en ändring i UI Automation-trädet. |
WindowClosedEventArgs | Innehåller information om att ett fönster stängs. |
Alla händelseargumentklasser innehåller en EventId medlem. Den här identifieraren är inkapslad i en AutomationEvent.
De AutomationEvent objekt som används för att identifiera händelser hämtas av leverantörer från fält i AutomationElementIdentifiers och kontrollmönsteridentifierarklasser, till exempel DockPatternIdentifiers. Motsvarande fält hämtas av klientprogram från fält i AutomationElement och kontrollmönsterklasser som DockPattern.
En lista över händelseidentifierare finns i UI Automation Events for Clients (Gränssnittsautomatiseringshändelser för klienter).