Sdílet prostřednictvím


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"

  • Nabídka (pod menu položky nápovědy)

    • MenuItem "Témata nápovědy"
    • MenuItem "O aplikaci Poznámkový blok"
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.

Viz také