Sdílet prostřednictvím


Přehled stromu 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í.

Asistenční technologie a testovací skripty procházejí stromem automatizace uživatelského rozhraní, aby shromažďovaly informace o uživatelském rozhraní a jeho prvcích.

Ve stromu automatizace uživatelského rozhraní je kořenový prvek (RootElement), který představuje aktuální plochu a jejíž podřízené prvky představují okna aplikace. Každý z těchto podřízených prvků může obsahovat prvky představující části uživatelského rozhraní, jako jsou nabídky, tlačítka, panely nástrojů a seznamy. Tyto prvky pak mohou obsahovat prvky, jako jsou položky seznamu.

Strom automatizace uživatelského rozhraní není pevnou strukturou a je zřídka vidět ve své totalitě, protože může obsahovat tisíce prvků. Části jsou vytvořené podle potřeby a můžou se měnit při přidání, přesunutí nebo odebrání prvků.

Poskytovatelé automatizace uživatelského rozhraní podporují strom Automatizace uživatelského rozhraní implementací navigace mezi položkami v rámci fragmentu, který se skládá z kořenového adresáře (obvykle hostovaného v okně) a podstromu. Poskytovatelé se ale nezajímají o navigaci z jednoho ovládacího prvku do druhého. To spravuje jádro automatizace uživatelského rozhraní pomocí informací z výchozích zprostředkovatelů oken.

Zobrazení stromu automatizace

Strom automatizace uživatelského rozhraní lze filtrovat a vytvořit zobrazení, která obsahují pouze ty AutomationElement objekty relevantní pro konkrétního klienta. Tento přístup umožňuje klientům přizpůsobit strukturu prezentovanou prostřednictvím automatizace uživatelského rozhraní podle jejich konkrétních potřeb.

Klient má dva způsoby přizpůsobení zobrazení: nastavením rozsahu a filtrováním. Vymezení rozsahu je definicí zobrazení, začínající od výchozího prvku: například, aplikace může chtít najít pouze přímé potomky plochy nebo všechny potomky aplikačního okna. Filtrování definuje typy prvků, které se mají zahrnout do zobrazení.

Zprostředkovatelé automatizace uživatelského rozhraní podporují filtrování definováním vlastností prvků, včetně IsControlElementProperty vlastností a IsContentElementProperty vlastností.

Automatizace uživatelského rozhraní poskytuje tři výchozí zobrazení. Tato zobrazení jsou definována typem provedeného filtrování; obor libovolného zobrazení je definován aplikací. Kromě toho může aplikace použít další filtry na vlastnosti; Chcete-li například zahrnout pouze povolené ovládací prvky do zobrazení ovládacího prvku.

Nezpracovaný pohled

Surové zobrazení stromu automatizace UI je celý strom AutomationElement objektů, pro které je plocha kořenem. Nezpracované zobrazení úzce sleduje nativní programovou strukturu aplikace, a proto je nejpodrobnější zobrazení k dispozici. Je to také základ, na kterém jsou postavena další zobrazení stromu. Vzhledem k tomu, že toto zobrazení závisí na základní architektuře uživatelského rozhraní, nezpracované zobrazení tlačítka WPF bude mít jiné nezpracované zobrazení než tlačítko Win32.

Nezpracované zobrazení je získáno vyhledáváním prvků bez zadání vlastností nebo pomocí RawViewWalker k navigování stromem.

Zobrazení ovládacího prvku

Zobrazení ovládacího stromu v automatizaci uživatelského rozhraní usnadňuje úkol produktů asistivní technologie, které popisují uživatelské rozhraní koncovému uživateli, a napomáhá koncovému uživateli při interakci s aplikací, protože věrně odpovídá struktuře uživatelského rozhraní tak, jak ji vnímá koncový uživatel.

Zobrazení ovládacího prvku je částí zobrazení nezpracovaných dat. Zahrnuje všechny položky uživatelského rozhraní z nezpracovaného zobrazení, kterým by koncový uživatel rozuměl jako interaktivní nebo přispívá do logické struktury ovládacího prvku v uživatelském rozhraní. Příklady položek uživatelského rozhraní, které přispívají k logické struktuře uživatelského rozhraní, ale nejsou interaktivní, jsou kontejnery položek, jako jsou záhlaví zobrazení seznamu, panely nástrojů, nabídky a stavový řádek. Neinteraktivní položky použité jednoduše pro rozložení nebo dekorativní účely se v zobrazení ovládacího prvku nezobrazí. Příkladem je panel, který byl použit pouze k rozložení ovládacích prvků v dialogovém okně, ale neobsahuje žádné informace. Neinteraktivní položky, které se zobrazí v zobrazení ovládacího prvku, jsou obrázky s informacemi a statickým textem v dialogovém okně. Neinteraktivní položky, které jsou součástí ovládacího zobrazení, nemůžou přijímat fokus klávesnice.

Zobrazení ovládacího prvku se získává hledáním prvků s nastavenou vlastností IsControlElement na true, nebo procházením stromu pomocí ControlViewWalker.

Zobrazení obsahu

Zobrazení obsahu v rámci stromu uživatelského rozhraní automatizace je podmnožinou zobrazení ovládacích prvků. Obsahuje položky uživatelského rozhraní, které vyjadřují skutečné informace v uživatelském rozhraní, včetně položek uživatelského rozhraní, které mohou přijímat fokus klávesnice, a text, který není popiskem položky uživatelského rozhraní. Například hodnoty v rozevíracím seznamu se zobrazí v zobrazení obsahu, protože představují informace používané koncovým uživatelem. V zobrazení obsahu jsou kombinované pole a seznam reprezentovány jako sada položek uživatelského rozhraní, kde je možné vybrat jednu nebo více než jednu položku. Skutečnost, že jedna je vždy otevřená a druhou lze rozbalit a sbalit, je v zobrazení obsahu irelevantní, protože je navrženo tak, aby zobrazovalo data nebo obsah, který se prezentuje uživateli.

Zobrazení obsahu je získáno vyhledáváním prvků, které mají IsContentElement vlastnost nastavenou na true, nebo procházením stromu pomocí ContentViewWalker.

Viz také