Podpora automatizace uživatelského rozhraní pro typ ovládacího prvku MenuItem
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 microsoft model UI Automation pro typ ovládacího prvku MenuItem. Popisuje strukturu stromu Microsoft model UI Automation ovládacího prvku a poskytuje vlastnosti a vzory ovládacích prvků, které jsou požadovány pro typ ovládacího prvku MenuItem.
Ovládací prvek nabídky umožňuje hierarchii prvků spojených s příkazy a obslužnými rutinami událostí. V typické aplikaci Microsoft Windows řádek nabídek obsahuje několik položek nabídky (například Soubor, Úpravy a Okno) a každá položka nabídky zobrazí nabídku. Nabídka obsahuje kolekci položek nabídky (například Nové, Otevřít a Zavřít), které lze rozbalit a zobrazit další položky nabídky nebo provést konkrétní akci po kliknutí. Položku nabídky lze hostovat v nabídce, řádku nabídek nebo panelu nástrojů.
Následující části definují požadovanou model UI Automation stromovou strukturu, vlastnosti, vzory ovládacích prvků a události pro typ ovládacího prvku MenuItem. Požadavky na model UI Automation platí pro všechny ovládací prvky seznamu, ať už windows Presentation Foundation (WPF), Win32 nebo model Windows Forms.
Požadovaná struktura stromu model UI Automation
Následující tabulka znázorňuje zobrazení ovládacích prvků a zobrazení obsahu stromu model UI Automation, které se týká ovládacích prvků položek nabídky, a popisuje, co může být obsaženo v jednotlivých zobrazeních. Další informace o stromu model UI Automation naleznete v tématu model UI Automation Strom přehledu.
Zobrazení ovládacího prvku | Zobrazení obsahu |
---|---|
MenuItem "Nápověda"
|
MenuItem "Nápověda" - MenuItem "Témata nápovědy" - MenuItem "O Poznámkový blok" |
Zobrazení ovládacího prvku položky nabídky má model UI Automation stromovou strukturu zobrazenou výše. Všimněte si, že položka nabídky Nápověda je zahrnuta, aby lépe ilustroval strukturu v typické nabídce podnabídky hierarchie.
V zobrazení obsahu chybí nabídka ze stromu model UI Automation, protože koncovému uživateli nesděluje smysluplné informace.
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 položek nabídky. Další informace o model UI Automation vlastnosti naleznete v tématu model UI Automation Vlastnosti pro klienty.
Vlastnost | Hodnota | Popis |
---|---|---|
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. | Podporuje se, pokud existuje ohraničující obdélník. Pokud ne každý bod uvnitř ohraničujícího obdélníku je možné kliknout a provést specializované testování hitů, pak přepsat a poskytnout kliknutelný bod. |
IsKeyboardFocusableProperty | Viz poznámky. | Pokud ovládací prvek může přijímat fokus klávesnice, musí tuto vlastnost podporovat. |
NameProperty | Viz poznámky. | Ovládací prvek položky nabídky je součástí zobrazení obsahu model UI Automation stromu a je označený vlastním názvem. |
LabeledByProperty | Null |
Žádný popisek. |
ControlTypeProperty | MenuItem | Tato hodnota je stejná pro všechny architektury uživatelského rozhraní. |
LocalizedControlTypeProperty | "položka nabídky" | Lokalizovaný řetězec odpovídající typu ovládacího prvku MenuItem. |
IsContentElementProperty | True | Ovládací prvek položky nabídky není nikdy součástí zobrazení obsahu model UI Automation stromu. |
IsControlElementProperty | True | Ovládací prvek položky nabídky musí být vždy součástí zobrazení ovládacího prvku stromu model UI Automation. |
Požadované vzory ovládacích prvků model UI Automation
V následující tabulce jsou uvedeny vzory ovládacích prvků model UI Automation, které jsou potřeba k podpoře ovládacích prvků položek nabídky. 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 | Technická podpora | Notes |
---|---|---|
IExpandCollapseProvider | Závisí | Pokud lze ovládací prvek rozbalit nebo sbalit, implementujte IExpandCollapseProvider. |
IInvokeProvider | Závisí | Pokud ovládací prvek provede jednu akci nebo příkaz, implementujte IInvokeProvider. |
IToggleProvider | Závisí | Pokud ovládací prvek představuje možnost, která může být zapnuta nebo vypnuta, implementujte IToggleProvider. |
ISelectionItemProvider | Závisí | Pokud se ovládací prvek používá k výběru ze seznamu možností mezi položkami nabídky, implementujte ISelectionItemProvider. |
události model UI Automation pro položku nabídky
Následující tabulka uvádí události Microsoft model UI Automation přidružené k ovládacímu prvku položky nabídky.
Událost | Technická podpora | Vysvětlení |
---|---|---|
InvokedEvent | Závisí | Pokud ovládací prvek podporuje vzor ovládacího prvku Invoke, musí být vyvolán. |
ToggleStateProperty událost změněná vlastností. | Závisí | Pokud ovládací prvek podporuje přepínací vzor ovládacích prvků, musí být vyvolán. |
ExpandCollapseStateProperty událost změněná vlastností. | Závisí | Musí být vyvolána, pokud ovládací prvek podporuje rozbalit sbalit vzor ovládacího prvku. |
ElementSelectedEvent | Závisí | Nezaokrouhlovat. |
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 položek nabídky. Další informace o událostech najdete v tématu model UI Automation Přehled událostí.
událost model UI Automation | Podpora/hodnota | Notes |
---|---|---|
InvokedEvent | Závisí | Nic |
ElementAddedToSelectionEvent | Závisí | Nic |
ElementRemovedFromSelectionEvent | Závisí | Nic |
ElementSelectedEvent | 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 |
ExpandCollapseStateProperty událost změněná vlastností. | Závisí | Nic |
ToggleStateProperty událost změněná vlastností. | Závisí | Nic |
AutomationFocusChangedEvent | Požaduje se | Nic |
StructureChangedEvent | Požaduje se | Nic |
Starší verze problémů
Přepnout vzor bude podporován pouze v případě, že je zaškrtnutá položka nabídky Win32 a lze ji určit programově potřebnou k podpoře přepínacího vzoru. Vzhledem k tomu, že položka nabídky Win32 nezpřístupňuje, zda má možnost kontrolovat, bude vyvolání vzoru podporováno, pokud položka nabídky není zaškrtnutá. Pro položky nabídky, které by měly podporovat pouze přepínací vzor, se provede výjimka, která bude vždy podporovat vzor vyvolání volání. To znamená, že klienti se nezaměňují, že prvek, který podporoval vyvolat vzor (když položka nabídky byla nezaškrtnuta), již nepodporuje vzor, jakmile se zkontroluje.