Sdílet prostřednictvím


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 automatizace uživatelského rozhraní definované v oboru názvů System.Windows.Automation. Nejnovější informace o automatizaci uživatelského rozhraní najdete v tématu rozhraní API služby Windows Automation: Automatizace uživatelského rozhraní.

Oznámení události Microsoft UI Automation je klíčovou funkcí pro asistivní technologie, jako jsou čtečky obrazovky a zvětšovače obrazovky. Tito klienti automatizace uživatelského rozhraní sledují události vyvolané poskytovateli automatizace uživatelského rozhraní, 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í

Události automatizace uživatelského rozhraní spadají do následujících kategorií.

Událost Popis
Změna vlastnosti Vyvolá se při změně vlastnosti prvku automatizace uživatelského rozhraní 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 stromu automatizace uživatelského rozhraní. Struktura se změní, když se nové položky uživatelského rozhraní zobrazí, skryjí nebo odstraní na ploše.
Globální úprava pracovní 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 poté klikne na tlačítko pro jeho aktualizaci, vyvolá se TextChangedEvent, i když 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í automatizace uživatelského rozhraní

Události automatizace uživatelského rozhraní Microsoftu jsou rozpoznávány objekty AutomationEvent. Vlastnost Id obsahuje hodnotu, která jednoznačně identifikuje druh události.

Uvedené možné hodnoty pro Id jsou v následující tabulce, společně 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

Argumenty událostí automatizace uživatelského rozhraní

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 automatizace uživatelského rozhraní, 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 automatizace uživatelského rozhraní.
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 poskytovateli z polí ve AutomationElementIdentifiers a kontrolních vzorových tříd identifikátorů, jako DockPatternIdentifiers. Ekvivalentní pole jsou získána klientskými aplikacemi z polí v AutomationElement a třídách vzorů ovládacích prvků, jako je DockPattern.

Seznam identifikátorů událostí najdete v tématu Události automatizace uživatelského rozhraní pro klienty.

Viz také