Sdílet prostřednictvím


Podpora automatizace uživatelského rozhraní pro typ ovládacího prvku seznam

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.

Toto téma obsahuje informace o podpoře model UI Automation pro typ ovládacího prvku Seznam. V model UI Automation je typ ovládacího prvku sadou podmínek, které musí ovládací prvek splňovat, aby bylo možné vlastnost použítControlTypeProperty. Podmínky zahrnují specifické pokyny pro strukturu stromové struktury model UI Automation, model UI Automation hodnoty vlastností a vzory ovládacích prvků.

Typ ovládacího prvku Seznam poskytuje způsob uspořádání ploché skupiny nebo skupin položek a umožňuje uživateli vybrat jednu nebo více těchto položek. Typ ovládacího prvku Seznam má volné omezení na typy podřízených prvků, které může obsahovat. To umožňuje poskytovatelům model UI Automation podporovat dobře známý prvek pro kontejnery výběru.

Požadavky model UI Automation v následujících částech platí pro všechny ovládací prvky, které implementují typ ovládacího prvku Seznam, ať už Windows Presentation Foundation (WPF), Win32 nebo model Windows Forms. Ovládací prvky kontejneru seznamu jsou příkladem ovládacích prvků, které implementují typ ovládacího prvku Seznam.

Požadovaná struktura stromu model UI Automation

Následující tabulka znázorňuje dvě zobrazení stromu model UI Automation, která se týkají ovládacích prvků seznamu, a popisuje, co lze v jednotlivých zobrazeních obsahovat. Zobrazení ovládacího prvku obsahuje pouze prvky, které jsou ovládacími prvky, a zobrazení obsahu odebere ze stromu nadbytečné informace. Například textový ovládací prvek použitý k označení pole se seznamem bude vystaven jako pole se seznamem ComboBox NameProperty. Vzhledem k tomu, že ovládací prvek textu je již tímto způsobem vystaven prostřednictvím zobrazení ovládacího prvku, není nutné jej vystavit dvakrát; proto je odebrán ze zobrazení obsahu. Další informace o stromu model UI Automation naleznete v tématu model UI Automation Strom přehledu.

Zobrazení ovládacího prvku Zobrazení obsahu
Obsahuje prvky, které odpovídají ovládacím prvkům. Odebere ze stromu nadbytečné informace, aby technologie usnadnění fungovaly s nejmenší sadou smysluplných informací pro koncového uživatele.
List

- DataItem (0 nebo více)
- ListItem (0 nebo více)
- Skupina (0 nebo více)
- Posuvník (0, 1 nebo 2)
List

- DataItem (0 nebo více)
- ListItem (0 nebo více)
- Skupina (0 nebo více)

Zobrazení ovládacího prvku, který implementuje typ ovládacího prvku Seznam (například ovládací prvek seznamu), se skládá z:

  • Nula nebo více položek v ovládacím prvku seznamu (položky mohou být založeny na typech ovládacích prvků Položka seznamu nebo Datových položek).

  • Nula nebo více ovládacích prvků skupiny v rámci ovládacího prvku seznamu.

  • Nula, jedna nebo dvě ovládací prvky posuvníku.

Zobrazení obsahu ovládacího prvku, který implementuje typ ovládacího prvku Seznam (například ovládací prvek seznamu) se skládá z:

  • Nula nebo více položek v ovládacím prvku seznamu (položky mohou být založeny na typech ovládacích prvků Položka seznamu nebo Datových položek).

  • V ovládacím prvku seznamu je nula nebo více skupin.

Ovládací prvek seznamu nesmí obsahovat položky, které mají jiný hierarchický vztah než seskupování. Pokud položky obsahují podřízené položky ve stromu model UI Automation, měl by být kontejner seznamu založen na typu ovládacího prvku Strom.

Položky, které lze vybrat v ovládacím prvku seznamu, budou k dispozici od potomků ve stromu model UI Automation ovládacího prvku seznamu. Všechny položky v ovládacím prvku seznamu musí patřit do stejné skupiny výběru. Vybratelné položky v seznamu by měly být vystaveny jako ListItem (místo DataItem) typy ovládacích prvků.

Požadované vlastnosti model UI Automation

Následující tabulka uvádí model UI Automation vlastnosti, jejichž hodnota nebo definice jsou zvláště relevantní pro ovládací prvky seznamu. Další informace o model UI Automation vlastnosti naleznete v tématu model UI Automation Vlastnosti pro klienty.

vlastnost model UI Automation Hodnota Notes
AutomationIdProperty Viz poznámky. Hodnota této vlastnosti musí být jedinečná pro všechny ovládací prvky v aplikaci.
BoundingRectangleProperty Viz poznámky. Vnější obdélník, který obsahuje celý ovládací prvek.
ClickablePointProperty Viz poznámky. Pokud má ovládací prvek seznamu klikatelný bod (bod, na který lze kliknout, aby se seznam mohl zaměřit), musí být tento bod zpřístupněn prostřednictvím této vlastnosti.

Pokud je hodnota IsOffScreen vlastnosti true, NoClickablePointException bude vyvolána.
IsKeyboardFocusableProperty Viz poznámky. Pokud ovládací prvek může přijímat fokus klávesnice, musí tuto vlastnost podporovat.
NameProperty Viz poznámky. Hodnota vlastnosti Název ovládacího prvku seznamu by měla sdělovat kategorii možností, ze které má uživatel vybírat. Tato vlastnost obvykle získá název ze statického textového popisku. Pokud neexistuje statický textový popisek, vývojář aplikace musí zveřejnit hodnotu vlastnosti Name.

Jedinou dobou, kdy tato vlastnost není vyžadována pro ovládací prvky seznamu, je-li ovládací prvek použit v podstrom jiného ovládacího prvku.
LabeledByProperty Viz poznámky. Pokud je popisek statického textu, musí tato vlastnost vystavit odkaz na tento ovládací prvek.
ControlTypeProperty List Tato hodnota je stejná pro všechny architektury uživatelského rozhraní.
LocalizedControlTypeProperty "list" Lokalizovaný řetězec odpovídající typu ovládacího prvku Seznam.
IsContentElementProperty True Ovládací prvek seznam je vždy součástí zobrazení obsahu model UI Automation stromu.
IsControlElementProperty True Ovládací prvek seznam je vždy součástí zobrazení ovládacího prvku stromu model UI Automation.
IsKeyboardFocusableProperty True Pokud kontejner může přijmout vstup klávesnice, měla by být tato hodnota vlastnosti true.
HelpTextProperty Viz poznámky. Text nápovědy k ovládacím prvkům seznamu by měl vysvětlit, proč se uživateli zobrazí výzva k výběru ze seznamu možností. Například "Výběr položky z tohoto seznamu nastaví rozlišení zobrazení pro váš monitor".

Požadované vzory a vlastnosti ovládacích prvků model UI Automation

Následující tabulka uvádí model UI Automation vzory ovládacích prvků vyžadované ovládacími prvky seznamu. Další informace o vzorech ovládacích prvků najdete v tématu model UI Automation Přehled vzorů ovládacích prvků.

Vlastnost vzoru ovládacího prvku nebo vzoru Podpora/hodnota Notes
ISelectionProvider Požaduje se Všechny ovládací prvky podporující typ ovládacího prvku Seznam musí být implementovány ISelectionProvider při zachování stavu výběru mezi položkami obsaženými v ovládacím prvku. Pokud položky v kontejneru nejsou vybratelné, je nutné použít typ ovládacího prvku Skupina.
IsSelectionRequired Závisí Ovládací prvky seznamu nevyžadují vždy, aby byla vybrána položka.
CanSelectMultiple Závisí Ovládací prvky seznamu můžou být kontejnery s jedním nebo vícenásobným výběrem.
IScrollProvider Závisí Implementujte tento vzor ovládacího prvku, pokud jsou položky v kontejneru posuvné.
IGridProvider Závisí Tento vzor implementujte, když je potřeba, aby navigace v mřížce byla k dispozici pro položku podle položek.
IMultipleViewProvider Závisí Implementujte tento vzor ovládacího prvku, pokud může ovládací prvek podporovat více zobrazení položek v kontejneru.
ITableProvider Nikdy ITableProvider není nikdy podporován pro typ ovládacího prvku Seznam. Pokud by ovládací prvek měl tento vzor ovládacího prvku podporovat, měl by být založen na typu ovládacího prvku Mřížka dat.

Požadované události model UI Automation

Následující tabulka uvádí model UI Automation události, které musí být podporovány všemi ovládacími prvky seznamu. Další informace o událostech najdete v tématu model UI Automation Přehled událostí.

událost model UI Automation Podpora/hodnota Notes
InvalidatedEvent Závisí Nic
LayoutInvalidatedEvent Závisí Nic
BoundingRectangleProperty událost změněná vlastností. Požaduje se Nic
IsOffscreenProperty událost změněná vlastností. Požaduje se Nic
IsEnabledProperty událost změněná vlastností. Požaduje se Nic
CurrentViewProperty událost změněná vlastností. Závisí Nic
HorizontallyScrollableProperty událost změněná vlastností. Závisí Nic
HorizontalScrollPercentProperty událost změněná vlastností. Závisí Nic
HorizontalViewSizeProperty událost změněná vlastností. Závisí Nic
VerticalScrollPercentProperty událost změněná vlastností. Závisí Nic
VerticallyScrollableProperty událost změněná vlastností. Závisí Nic
VerticalViewSizeProperty událost změněná vlastností. Závisí Nic
AutomationFocusChangedEvent Požaduje se Nic
StructureChangedEvent Požaduje se Nic

Viz také