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 IInvokeProvider, včetně informací o událostech a vlastnostech. Odkazy na další odkazy jsou uvedeny na konci tématu.
Vzor InvokePattern ovládacích prvků se používá k podpoře ovládacích prvků, které při aktivaci neudržují stav, ale spíše iniciují nebo provádějí jednu jednoznačnou akci. Ovládací prvky, které udržují stav, například zaškrtávací políčka a přepínače, musí místo toho implementovat IToggleProvider a ISelectionItemProvider v uvedeném pořadí. Příklady ovládacích prvků, které implementují vzor ovládacího prvku Invoke, 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 Invoke si všimněte následujících pokynů a konvencí:
Ovládací prvky implementují IInvokeProvider, pokud stejné chování není poskytováno prostřednictvím jiného zprostředkovatele vzorů ovládacích prvků. Pokud například Invoke metoda na ovládacím prvku provádí stejnou akci jako Expand metoda nebo Collapse metoda, ovládací prvek by neměl implementovat IInvokeProvider.
Vyvolání ovládacího prvku se obvykle provádí kliknutím nebo dvojitým kliknutím nebo stisknutím klávesy ENTER, předdefinované klávesové zkratky nebo některé alternativní kombinace klávesových zkratek.
InvokedEvent je vyvolána na ovládacím prvku, který byl aktivován (jako odpověď na ovládací prvek provádějící jeho přidruženou akci). Pokud je to možné, událost by měla být vyvolána poté, co ovládací prvek akci dokončil a vrátil se bez blokování. Událost 'Invoke' je třeba vyvolat před obsluhou požadavku Invoke v následujících scénářích:
Není možné ani praktické počkat, až se akce dokončí.
Akce vyžaduje interakci uživatele.
Akce je časově náročná a způsobí, že volající klient bude po delší dobu zablokován.
Pokud vyvolání ovládacího prvku má významné vedlejší účinky, měly by být tyto vedlejší účinky vystaveny prostřednictvím HelpText vlastnosti. I když Invoke například není přidružen k výběru, Invoke může způsobit, že jiný ovládací prvek bude vybrán.
Účinky při najetí myší obvykle nepředstavují vyvolanou událost. Ovládací prvky, které provádějí nějakou akci (na rozdíl od způsobení vizuálního efektu), by však měly podporovat ovládací vzor InvokePattern.
Poznámka:
Tato implementace je považována za problém s přístupností, pokud lze ovládací prvek vyvolat pouze v důsledku vedlejšího efektu souvisejícího s myší.
Vyvolání ovládacího prvku se liší od výběru položky. V závislosti na ovládacím prvku však může jeho vyvolání způsobit, že položka bude vybrána jako vedlejší efekt. Například vyvolání položky seznamu dokumentů aplikace Microsoft Word ve složce Dokumenty vybere položku a otevře dokument.
Prvek může okamžitě zmizet ze stromu Automatizace uživatelského rozhraní. Vyžádání informací z elementu poskytnutého zpětným voláním události může selhat v důsledku toho. Doporučeným alternativním řešením je předběžné načtení informací uložených v mezipaměti.
Ovládací prvky můžou implementovat více vzorů ovládacích prvků. Například ovládací prvek Barva výplně na panelu nástrojů Microsoft Excel implementuje jak InvokePattern tak ExpandCollapsePattern vzory ovládacích prvků. ExpandCollapsePattern zobrazí nabídku a InvokePattern vyplní aktivní výběr zvolenou barvou.
Požadované členy pro IInvokeProvider
Pro implementaci IInvokeProviderjsou vyžadovány následující vlastnosti a metody .
| Požadované členy | Typ členu | Poznámky |
|---|---|---|
| Invoke | metoda |
Invoke je asynchronní volání a musí se vrátit okamžitě bez blokování. Toto chování je zvláště důležité pro ovládací prvky, které při vyvolání přímo nebo nepřímo spustí modální dialogové okno. Každý klient automatizace uživatelského rozhraní, který vyvolal událost, zůstane zablokovaný, dokud se modální dialogové okno neskoncuje. |
Výjimky
Poskytovatelé musí vyvolat následující výjimky.
| Typ výjimky | Podmínka |
|---|---|
| ElementNotEnabledException | Pokud ovládací prvek není povolený. |
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
- Vyvolání ovládacího prvku pomocí automatizace uživatelského rozhraní
- Přehled stromu automatizace uživatelského rozhraní
- Použití ukládání do mezipaměti v automatizaci uživatelského rozhraní