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 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.
Produkty a testovací skripty technologie pro usnadnění procházejí stromem model UI Automation a shromažďují informace o uživatelském rozhraní a jeho prvcích.
Ve stromu model UI Automation existuje 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.
Model UI Automation strom není pevná struktura 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ů.
model UI Automation poskytovatelé podporují strom model UI Automation implementací navigace mezi položkami v rámci fragmentu, který se skládá z kořene (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 model UI Automation pomocí informací z výchozích poskytovatelů oken.
Zobrazení stromu automatizace
Strom model UI Automation lze filtrovat a vytvářet zobrazení, která obsahují pouze tyto AutomationElement objekty relevantní pro konkrétního klienta. Tento přístup umožňuje klientům přizpůsobit strukturu prezentovanou prostřednictvím model UI Automation jejich konkrétním potřebám.
Klient má dva způsoby přizpůsobení zobrazení: nastavením rozsahu a filtrováním. Definování rozsahu zobrazení, počínaje základním prvkem, například aplikace může chtít najít pouze přímé podřízené položky plochy nebo všechny potomky okna aplikace. Filtrování definuje typy prvků, které se mají zahrnout do zobrazení.
model UI Automation poskytovatelé podporují filtrování definováním vlastností prvků, včetně IsControlElementProperty vlastností a IsContentElementProperty vlastností.
model UI Automation 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é zobrazení
Nezpracované zobrazení model UI Automation stromu 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 procházení stromu.
Zobrazení ovládacího prvku
Zobrazení ovládacího prvku model UI Automation stromu zjednodušuje úlohu produktu technologie usnadnění popisující uživatelské rozhraní koncovému uživateli a pomáhá koncovému uživateli pracovat s aplikací, protože úzce mapuje na strukturu uživatelského rozhraní, kterou koncový uživatel vnímal.
Zobrazení ovládacího prvku je podmnožinou nezpracovaného zobrazení. 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 je získáno hledáním prvků, které mají IsControlElement vlastnost nastavena na true
, nebo pomocí procházení ControlViewWalker stromu.
Zobrazení obsahu
Zobrazení obsahu stromu model UI Automation je podmnožinou zobrazení ovládacího prvku. 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 pole se seznamem i seznam reprezentovány jako kolekce položek uživatelského rozhraní, kde je možné vybrat jednu nebo více položek. Skutečnost, že je vždy otevřená a jedna může rozbalit a sbalit, je irelevantní v zobrazení obsahu, protože je navržená tak, aby zobrazovala data nebo obsah, který se prezentuje uživateli.
Zobrazení obsahu je získáno vyhledáváním prvků, které mají IsContentElement vlastnost nastavena na true
, nebo pomocí procházení ContentViewWalker stromu.