Přehled vzorů ovládacích prvků pro automatizaci 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.

Tento přehled představuje vzory ovládacích prvků microsoft model UI Automation. Vzory ovládacích prvků poskytují způsob, jak kategorizovat a vystavit funkce ovládacího prvku nezávisle na typu ovládacího prvku nebo vzhledu ovládacího prvku.

model UI Automation používá vzory ovládacích prvků k vyjádření běžného chování ovládacích prvků. Například pro ovládací prvky, které se dají vyvolat (například tlačítka) a vzor ovládacích prvků posuvníků, které mají posuvníky (například seznamy, zobrazení seznamu nebo pole se seznamem), použijete například vzorec ovládacího prvku Vyvolat. Vzhledem k tomu, že každý vzor ovládacího prvku představuje samostatnou funkci, lze je zkombinovat a popsat úplnou sadu funkcí podporovaných konkrétním ovládacím prvekm.

Poznámka:

Agregované ovládací prvky vytvořené pomocí podřízených ovládacích prvků, které poskytují uživatelské rozhraní pro funkce vystavené nadřazeným objektem, by měly implementovat všechny vzory ovládacích prvků, které jsou obvykle přidružené ke každému podřízeného ovládacího prvku. Naopak stejné vzory ovládacích prvků nemusí být implementovány podřízenými ovládacími prvky.

model UI Automation komponenty vzorů ovládacích prvků

Vzory ovládacích prvků podporují metody, vlastnosti, události a relace potřebné k definování diskrétní části funkčnosti dostupné v ovládacím prvku.

  • Vztah mezi elementem model UI Automation a jeho nadřazeným prvkem, podřízenými položkami a elementy na stejné úrovni popisuje strukturu elementu v rámci model UI Automation stromu.

  • Metody umožňují model UI Automation klientům manipulovat s ovládacím prvku.

  • Vlastnosti a události poskytují informace o funkcích ovládacího prvku a také informace o stavu ovládacího prvku.

Vzory ovládacích prvků se vztahují k uživatelskému rozhraní jako rozhraní související s objekty modelu COM (Component Object Model). V modelu COM můžete dotazovat objekt, který se zeptá, jaká rozhraní podporuje, a pak tato rozhraní použít pro přístup k funkcím. V model UI Automation mohou klienti model UI Automation požádat ovládací prvek, který ovládací vzory podporuje, a pak s ním pracovat prostřednictvím vlastností, metod, událostí a struktur vystavených podporovanými vzory ovládacích prvků. Například u víceřádkového textového pole model UI Automation zprostředkovatelů implementují IScrollProvider. Když klient ví, že AutomationElement podporuje ScrollPattern vzor ovládacího prvku, může použít vlastnosti, metody a události vystavené tímto vzorem ovládacího prvku k manipulaci s ovládacím prvku nebo přístup k informacím o ovládacím prvku.

poskytovatelé model UI Automation a klienti

model UI Automation poskytovatelé implementují vzory ovládacích prvků, aby zpřístupnilo vhodné chování pro konkrétní část funkcí, kterou ovládací prvek podporuje.

model UI Automation klienti přistupují k metodám a vlastnostem model UI Automation tříd vzorů ovládacích prvků a používají je k získání informací o uživatelském rozhraní nebo manipulaci s uživatelským rozhraním. Tyto třídy vzorů ovládacích prvků jsou nalezeny System.Windows.Automation v oboru názvů (například InvokePattern a SelectionPattern).

Klienti používají AutomationElement metody (například AutomationElement.GetCurrentPropertyValue neboAutomationElement.GetCachedPropertyValue) nebo přístupové objekty CLR (Common Language Runtime) pro přístup k model UI Automation vlastnostem vzoru. Každá třída vzoru ovládacího prvku má člen pole (například InvokePattern.Pattern nebo SelectionPattern.Pattern), který identifikuje tento vzor ovládacího prvku a lze jej předat jako parametr GetCachedPattern nebo GetCurrentPattern načíst tento vzor pro objekt AutomationElement.

Vzory dynamických ovládacích prvků

Některé ovládací prvky vždy nepodporují stejnou sadu vzorů ovládacích prvků. Vzory ovládacích prvků se považují za podporované, pokud jsou k dispozici pro klienta model UI Automation. Například pole pro víceřádkové úpravy umožňuje svislé posouvání pouze v případě, že obsahuje více řádků textu, než lze zobrazit v jeho zobrazitelné oblasti. Posouvání je zakázané, když je odebrán dostatek textu, takže posouvání už není potřeba. V tomto příkladu je vzor ovládacího prvku ScrollPattern dynamicky podporován v závislosti na aktuálním stavu ovládacího prvku (kolik textu je v textovém poli).

Třídy a rozhraní vzorů ovládacích prvků

Následující tabulka popisuje vzory ovládacích prvků model UI Automation. Tabulka také uvádí třídy používané klienty model UI Automation pro přístup k vzorům ovládacích prvků a také rozhraní používaná poskytovateli model UI Automation k jejich implementaci.

Control Pattern – třída Rozhraní zprostředkovatele Popis
DockPattern IDockProvider Používá se pro ovládací prvky, které lze ukotvit v dokovacím kontejneru. Například panely nástrojů nebo palety nástrojů.
ExpandCollapsePattern IExpandCollapseProvider Používá se pro ovládací prvky, které lze rozbalit nebo sbalit. Například položky nabídky v aplikaci, jako je například nabídka Soubor .
GridPattern IGridProvider Používá se pro ovládací prvky, které podporují funkce mřížky, jako je změna velikosti a přechod na zadanou buňku. Například velké zobrazení ikon v Průzkumníku Windows nebo jednoduchých tabulkách bez záhlaví v Microsoft Wordu.
GridItemPattern IGridItemProvider Používá se pro ovládací prvky, které mají buňky v mřížce. Jednotlivé buňky by měly podporovat vzor GridItem. Například každá buňka v zobrazení podrobností v Průzkumníku Microsoft Windows.
InvokePattern IInvokeProvider Používá se pro ovládací prvky, které lze vyvolat, například tlačítko.
MultipleViewPattern IMultipleViewProvider Používá se pro ovládací prvky, které můžou přepínat mezi více reprezentacemi stejné sady informací, dat nebo podřízených položek. Například ovládací prvek zobrazení seznamu, kde jsou data dostupná v zobrazení miniatury, dlaždice, ikony, seznamu nebo podrobností.
RangeValuePattern IRangeValueProvider Používá se pro ovládací prvky, které mají rozsah hodnot, které lze použít u ovládacího prvku. Například ovládací prvek číselníku obsahující roky může mít rozsah 1900 až 2010, zatímco jiný ovládací prvek číselníku prezentující měsíce bude mít rozsah 1 až 12.
ScrollPattern IScrollProvider Používá se pro ovládací prvky, které se dají posunout. Například ovládací prvek, který má aktivní posuvníky, pokud je k dispozici více informací, než lze zobrazit v oblasti ovládacího prvku, který lze zobrazit.
ScrollItemPattern IScrollItemProvider Používá se pro ovládací prvky, které mají jednotlivé položky v seznamu, který se posune. Například ovládací prvek seznamu, který obsahuje jednotlivé položky v seznamu posouvání, například ovládací prvek pole se seznamem.
SelectionPattern ISelectionProvider Používá se pro ovládací prvky kontejneru výběru. Například seznamová pole a pole se seznamem.
SelectionItemPattern ISelectionItemProvider Používá se pro jednotlivé položky v ovládacích prvcích kontejneru výběru, jako jsou seznamová pole a pole se seznamem.
TablePattern ITableProvider Používá se pro ovládací prvky, které mají mřížku a informace o záhlaví. Například listy aplikace Microsoft Excel.
TableItemPattern ITableItemProvider Používá se pro položky v tabulce.
TextPattern ITextProvider Slouží k úpravám ovládacích prvků a dokumentů, které zveřejňují textové informace.
TogglePattern IToggleProvider Používá se pro ovládací prvky, kde lze přepnout stav. Například zaškrtávací políčka a položky nabídky s možností zaškrtnutí.
TransformPattern ITransformProvider Používá se pro ovládací prvky, které se dají měnit, přesouvat a otáčet. Typické použití řídicího vzoru Transformace jsou v návrhářích, formulářích, grafických editorech a aplikacích kreslení.
ValuePattern IValueProvider Umožňuje klientům získat nebo nastavit hodnotu u ovládacích prvků, které nepodporují rozsah hodnot. Například výběr data a času.
WindowPattern IWindowProvider Zveřejňuje informace specifické pro okna, základní koncept operačního systému Microsoft Windows. Příklady ovládacích prvků, které jsou windows, jsou okna aplikací nejvyšší úrovně (Microsoft Word, Microsoft Windows Explorer atd.), podřízená okna a dialogová okna s více dokumenty (MDI).

Viz také