Megosztás a következőn keresztül:


Felhasználói felületi automatizálási események áttekintése

Megjegyzés:

Ez a dokumentáció azoknak a .NET-keretrendszer-fejlesztőknek készült, akik a System.Windows.Automation névtérben definiált felügyelt felhasználói felületi Automation-osztályokat szeretnék használni. A felhasználói felület automatizálásával kapcsolatos legfrissebb információkért lásd Windows Automation API: UI Automation.

A Microsoft UI Automation eseményértesítés kulcsfontosságú funkciója a kisegítő technológiáknak, például a képernyőolvasóknak és a képernyőnagyítóknak. Ezek a felhasználói felület-automatizálási ügyfelek nyomon követik a felhasználói felület automation-szolgáltatói által kiváltott eseményeket, amikor valami történik a felhasználói felületen, és az információk segítségével értesítik a végfelhasználókat.

A hatékonyság javítása azáltal, hogy lehetővé teszi a szolgáltatói alkalmazások számára az események szelektív létrehozását attól függően, hogy az ügyfelek feliratkoztak-e ezekre az eseményekre, vagy egyáltalán nem, ha egyetlen ügyfél sem figyeli az eseményeket.

Események típusai

A felhasználói felület automatizálási eseményei a következő kategóriákba sorolhatók.

Esemény Leírás
Tulajdonság módosítása Akkor merül fel, ha egy felhasználói felület automation elemének vagy vezérlőmintájának egy tulajdonsága megváltozik. Ha például egy ügyfélnek figyelnie kell egy alkalmazás jelölőnégyzet-vezérlőjét, regisztrálhat a tulajdonság tulajdonságváltozási eseményeinek ToggleState figyeléséhez. Ha a jelölőnégyzet vezérlőelem be van jelölve, vagy nincs bejelölve, a szolgáltató aktiválja az eseményt, és az ügyfél szükség szerint eljárhat.
Elem művelet Akkor merül fel, ha a felhasználói felület változása végfelhasználói vagy programozott tevékenységből származik; például, ha egy gombra való kattintás vagy a gomb programozott meghívása történik InvokePattern.
Struktúraváltozás Felmerül, amikor a felhasználói felület automatizálási fájának szerkezete megváltozik. A struktúra megváltozik, amikor új felhasználói felületi elemek válnak láthatóvá, elrejtve vagy eltávolítva az asztalon.
Globális asztali módosítás Ez akkor merül fel, ha az ügyfél számára globálisan fontos műveletek történnek, például amikor a fókusz egyik elemről a másikra vált, vagy amikor egy ablak bezárul.

Egyes események nem feltétlenül jelentik azt, hogy a felhasználói felület állapota megváltozott. Ha például a felhasználó egy szövegbeviteli mezőre lép, majd egy gombra kattint a mező frissítéséhez, egy TextChangedEvent esemény váltódik ki akkor is, ha a felhasználó valójában nem módosította a szöveget. Az esemény feldolgozásakor előfordulhat, hogy az ügyfélalkalmazásnak ellenőriznie kell, hogy történt-e változás a művelet végrehajtása előtt.

A következő események akkor is előfordulhatnak, ha a felhasználói felület állapota nem változott.

  • AutomationPropertyChangedEvent (a módosított tulajdonságtól függően)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Felhasználói felület automatizálási eseményazonosítói

A Microsoft UI Automation-eseményeket objektumok azonosítják AutomationEvent . A Id tulajdonság olyan értéket tartalmaz, amely egyedileg azonosítja az esemény fajtáját.

A lehetséges értékek a Id következő táblázatban vannak megadva, valamint az eseményargumentumokhoz használt típussal együtt. Vegye figyelembe, hogy az ügyfelek és szolgáltatók által használt azonosítók azonos nevű mezők különböző osztályokból.

Ügyfélazonosító Szolgáltató azonosítója Eseményargumentumok típusa
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

A felhasználói felület automatizálásának eseményargumentumai

Az alábbi osztályok eseményargumentumokat foglalnak össze.

Osztály Leírás
AsyncContentLoadedEventArgs Információkat tartalmaz a tartalom aszinkron betöltéséről, beleértve a befejezett betöltés százalékos arányát.
AutomationEventArgs Olyan egyszerű eseményre vonatkozó információkat tartalmaz, amelyekhez nincs szükség további adatokra.
AutomationFocusChangedEventArgs Információkat tartalmaz a bemeneti fókusz egyik elemről a másikra történő változásáról. Az ilyen típusú eseményeket a felhasználói felület automation rendszere, nem pedig a szolgáltatók generálják.
AutomationPropertyChangedEventArgs Információkat tartalmaz egy elem vagy vezérlőminta tulajdonságértékének változásáról.
StructureChangedEventArgs A felhasználói felület automatizálási fájának változásával kapcsolatos információkat tartalmaz.
WindowClosedEventArgs Az ablak bezárásával kapcsolatos információkat tartalmaz.

Az összes eseményargumentumosztály tartalmaz egy tagot EventId . Ez az azonosító egy `AutomationEvent`-be van kapszulázva.

Az AutomationEvent események azonosításához használt objektumokat a szolgáltatók a AutomationElementIdentifiers mezőkből és az irányítóminta-azonosító osztályokból, mint például a DockPatternIdentifiers szerzik be. Az egyenértékű mezőket az ügyfélalkalmazások a AutomationElement mezőiből és a vezérlési minták osztályaiból, például a DockPattern, szerzik be.

Az eseményazonosítók listáját az ügyfelek felhasználói felületi automatizálási eseményei című témakörben találja.

Lásd még