Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í.
Toto téma představuje pokyny a konvence pro implementaci IExpandCollapseProvider, včetně informací o vlastnostech, metodách a událostech. Odkazy na další odkazy jsou uvedeny na konci přehledu.
Model ExpandCollapsePattern ovládání se používá k podpoře ovládacích prvků, které se vizuálně rozbalují, aby zobrazily více obsahu, a sbalují, aby skryly obsah. Příklady ovládacích prvků, které implementují tento vzor ovládacího prvku, naleznete v tématu mapování vzorů ovládacích prvků pro klienty automatizace uživatelského rozhraní.
Pokyny a konvence implementace
Při implementaci vzoru ovládacího prvku ExpandCollapse si všimněte následujících pokynů a konvencí:
Agregační ovládací prvky, které jsou vytvořeny s podřízenými objekty poskytujícími funkci rozbalení/sbalení v uživatelském rozhraní, musí podporovat vzor ExpandCollapsePattern ovládacího prvku, zatímco jejich podřízené prvky nikoliv. Například ovládací prvek pole se seznamem je sestaven pomocí kombinace ovládacích prvků seznamu, tlačítka a úprav, ale je to pouze nadřazené pole se seznamem, které musí podporovat ExpandCollapsePattern.
Poznámka:
Výjimkou je ovládací prvek nabídky, což je agregace jednotlivých objektů MenuItem. Objekty MenuItem mohou podporovat ExpandCollapsePattern vzor ovládacího prvku, ale nadřazený ovládací prvek Menu nemůže. Podobná výjimka platí pro ovládací prvky Tree a Tree Item.
ExpandCollapseState Pokud je ovládací prvek nastaven na LeafNode, všechny ExpandCollapsePattern funkce jsou momentálně neaktivní pro ovládací prvek a jediné informace, které lze získat pomocí tohoto vzoru ovládacího prvku, je ExpandCollapseState. Pokud se následně přidají nějaké podřízené objekty, ExpandCollapseState se změní a ExpandCollapsePattern funkcionalita se aktivuje.
ExpandCollapseState odkazuje pouze na viditelnost bezprostředních podřízených objektů; neodkazuje na viditelnost všech následnických objektů.
Funkce rozbalení a sbalení je specifická pro ovládací prvek. Tady jsou příklady tohoto chování.
Osobní nabídka Office může být třístavový MenuItem (Expanded, Collapsed a PartiallyExpanded), kde ovládací prvek určuje stav, který má přijmout, když je volána Expand nebo pokud je Collapse volána.
Volání Expand na TreeItem může zobrazit všechny podřízené položky nebo pouze přímé děti.
Pokud volání Expand nebo Collapse na ovládacím prvku udržuje stav jeho potomků, měla by být odeslána událost změny viditelnosti, nikoli událost změny stavu. Pokud nadřazený ovládací prvek neudržuje stav svých potomků při jeho sbalení, může ovládací prvek zničit všechny potomky, kteří již nejsou viditelní, a vyvolat událost zničení; nebo může změnit ExpandCollapseState pro každého potomka a vyvolat událost změny viditelnosti.
Aby byla zaručena navigace, je žádoucí, aby objekt byl ve stromu uživatelského rozhraní automatizace (s odpovídajícím stavem viditelnosti) bez ohledu na jeho nadřazené prvkyExpandCollapseState. Pokud se potomci generují na vyžádání, můžou se zobrazit pouze ve stromu automatizace uživatelského rozhraní po prvním zobrazení nebo pouze v době, kdy jsou viditelné.
Požadované členy pro IExpandCollapseProvider
Pro implementaci IExpandCollapseProviderjsou vyžadovány následující vlastnosti a metody .
| Požadované členy | Typ členu | Poznámky |
|---|---|---|
| ExpandCollapseState | Vlastnictví | Žádné |
| Expand | Metoda | Žádné |
| Collapse | Metoda | Žádné |
| AutomationPropertyChangedEventHandler | Událost | Tento ovládací prvek nemá žádné přidružené události; použít tohoto obecného delegáta. |
Výjimky
Poskytovatelé musí vyvolat následující výjimky.
| Typ výjimky | Podmínka |
|---|---|
| InvalidOperationException | Buď Expand nebo Collapse je volána při ExpandCollapseState = LeafNode. |
Viz také
- Přehled vzorů ovládacích prvků automatizace uživatelského rozhraní
- Podpora vzorů ovládacích prvků v poskytovateli automatizace uživatelského rozhraní
- Vzory ovládacích prvků automatizace uživatelského rozhraní pro klienty
- Navigace mezi prvky automatizace uživatelského rozhraní pomocí TreeWalkeru
- Přehled stromu automatizace uživatelského rozhraní
- Použití ukládání do mezipaměti v automatizaci uživatelského rozhraní