Přehled událostí automatizace uživatelského rozhraní

Poznámka:

Tato dokumentace je určená pro vývojáře rozhraní .NET Framework, kteří chtějí používat spravované třídy model UI Automation definované v System.Windows.Automation oboru názvů. Nejnovější informace o model UI Automation najdete v tématu Rozhraní API služby Windows Automation: model UI Automation.

Oznámení události Microsoft model UI Automation je klíčovou funkcí pro technologie usnadnění, jako jsou čtečky obrazovky a lupy obrazovky. Tito model UI Automation klienti sledují události vyvolané poskytovateli model UI Automation, když se něco stane v uživatelském rozhraní, a pomocí informací upozorňují koncové uživatele.

Efektivita je vylepšená tím, že aplikacím poskytovatelů umožníte selektivně vyvolat události v závislosti na tom, jestli se k těmto událostem přihlašují všichni klienti, nebo ne, pokud žádné klienty neposlouchají žádné události.

Typy událostí

model UI Automation události spadají do následujících kategorií.

Událost Popis
Změna vlastnosti Vyvolána při změně vlastnosti u model UI Automation elementu nebo vzoru ovládacího prvku. Pokud například klient potřebuje monitorovat ovládací prvek zaškrtávacího políčka aplikace, může se zaregistrovat, aby naslouchal události změny vlastnosti ve ToggleState vlastnosti. Pokud je ovládací prvek zaškrtávacího políčka zaškrtnutý nebo nezaškrtnutý, zprostředkovatel vyvolá událost a klient může fungovat podle potřeby.
Akce elementu Vyvolá se při změně v uživatelském rozhraní od koncového uživatele nebo programové aktivity; Například když je tlačítko kliknuto nebo vyvoláno prostřednictvím InvokePattern.
Změna struktury Vyvolá se při změně struktury model UI Automation stromu. Struktura se změní, když se nové položky uživatelského rozhraní zobrazí, skryje nebo odeberou na ploše.
Globální změna plochy Vyvolá se, když dojde k akci globálního zájmu klienta, například když se fokus přesune z jednoho prvku na jiný nebo když se okno zavře.

Některé události nemusí nutně znamenat, že se změnil stav uživatelského rozhraní. Pokud například uživatel přejde na pole pro zadávání textu a potom klikne na tlačítko pro aktualizaci pole, vyvolá se vyvolá se i v případě, TextChangedEvent že uživatel text skutečně nezměnil. Při zpracování události může být nutné, aby klientská aplikace před provedením akce zkontrolovala, jestli se něco skutečně změnilo.

Následující události mohou být vyvolány i v případě, že se stav uživatelského rozhraní nezměnil.

  • AutomationPropertyChangedEvent (v závislosti na změně vlastnosti)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Identifikátory událostí model UI Automation

Microsoft model UI Automation události jsou identifikovány AutomationEvent objekty. Vlastnost Id obsahuje hodnotu, která jednoznačně identifikuje druh události.

Možné hodnoty jsou Id uvedeny v následující tabulce spolu s typem použitým pro argumenty události. Všimněte si, že identifikátory používané klienty a poskytovateli jsou identicky pojmenovaná pole z různých tříd.

Identifikátor klienta Identifikátor zprostředkovatele Typ argumentů události
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

model UI Automation argumenty události

Následující třídy zapouzdřují argumenty události.

Třída Popis
AsyncContentLoadedEventArgs Obsahuje informace o asynchronním načítání obsahu, včetně procenta dokončení načítání.
AutomationEventArgs Obsahuje informace o jednoduché události, která nevyžaduje žádná další data.
AutomationFocusChangedEventArgs Obsahuje informace o změně vstupního fokusu z jednoho prvku na druhý. Události tohoto typu jsou vyvolány systémem model UI Automation, nikoli poskytovateli.
AutomationPropertyChangedEventArgs Obsahuje informace o změně hodnoty vlastnosti prvku nebo vzoru ovládacího prvku.
StructureChangedEventArgs Obsahuje informace o změně ve stromu model UI Automation.
WindowClosedEventArgs Obsahuje informace o zavření okna.

Všechny třídy argumentů události obsahují EventId člena. Tento identifikátor je zapouzdřen v objektu AutomationEvent.

Objekty AutomationEvent používané k identifikaci událostí jsou získány zprostředkovateli z polí v AutomationElementIdentifiers třídách identifikátorů vzorů ovládacích prvků, jako DockPatternIdentifiersje . Ekvivalentní pole jsou získána klientskými aplikacemi z polí v AutomationElement třídách vzorů ovládacích prvků, jako DockPatternjsou .

Seznam identifikátorů událostí najdete v tématu model UI Automation Události pro klienty.

Viz také