Dela via


Stöd för användargränssnittsautomatisering för kontrolltypen MenuItem

Kommentar

Den här dokumentationen System.Windows.Automation är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i namnområdet. Den senaste informationen om UI Automation finns i Windows Automation API: UI Automation.

Det här avsnittet innehåller information om Microsoft UI Automation-stöd för kontrolltypen MenuItem. Den beskriver kontrollens Microsoft UI Automation-trädstruktur och innehåller de egenskaper och kontrollmönster som krävs för kontrolltypen MenuItem.

En menykontroll tillåter hierarkisk organisation av element som är associerade med kommandon och händelsehanterare. I ett typiskt Microsoft Windows-program innehåller en menyrad flera menyalternativ (till exempel Arkiv, Redigera och Fönster) och varje menyalternativ visar en meny. En meny innehåller en samling menyobjekt (till exempel Nytt, Öppna och Stäng), som kan expanderas för att visa ytterligare menyalternativ eller utföra en specifik åtgärd när du klickar. Ett menyalternativ kan finnas i en meny, menyrad eller verktygsfält.

I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för kontrolltypen MenuItem. Kraven för användargränssnittsautomatisering gäller för alla listkontroller, oavsett om det gäller Windows Presentation Foundation (WPF), Win32 eller Windows Forms.

Obligatorisk trädstruktur för användargränssnittsautomatisering

I följande tabell visas kontrollvyn och innehållsvyn för UI Automation-trädet som gäller för menyalternativkontroller och beskriver vad som kan finnas i varje vy. Mer information om UI Automation-trädet finns i Översikt över UI Automation Tree.

Kontrollvy Innehållsvy
MenuItem "Hjälp"

  • Meny (undermeny i menyalternativet Hjälp)

    • MenuItem "Hjälpämnen"
    • MenuItem "Om Anteckningar"
MenuItem "Hjälp"

- MenuItem "Hjälpämnen"
- MenuItem "Om Anteckningar"

Kontrollvyn för menyalternativkontrollen har UI Automation-trädstrukturen som visas ovan. Observera att menyalternativet Hjälp ingår för att bättre illustrera strukturen i en typisk meny till undermenyhierarkin.

För innehållsvyn saknas Menyn i UI Automation-trädet eftersom den inte förmedlar meningsfull information till slutanvändaren.

Nödvändiga egenskaper för UI Automation

I följande tabell visas de UI Automation-egenskaper vars värde eller definition är särskilt relevant för menyalternativkontroller. Mer information om egenskaper för UI Automation finns i UI Automation Properties for Clients (Egenskaper för gränssnittsautomatisering för klienter).

Property Värde beskrivning
AutomationIdProperty Se anteckningar. Värdet för den här egenskapen måste vara unikt för alla kontroller i ett program.
BoundingRectangleProperty Se anteckningar. Den yttersta rektangeln som innehåller hela kontrollen.
ClickablePointProperty Se anteckningar. Stöds om det finns en rektangel för avgränsning. Om inte varje punkt i avgränsningsrektangeln är klickbar och du utför specialiserad träfftestning åsidosätter du och anger en klickbar punkt.
IsKeyboardFocusableProperty Se anteckningar. Om kontrollen kan få tangentbordsfokus måste den ha stöd för den här egenskapen.
NameProperty Se anteckningar. Menyalternativkontrollen ingår i innehållsvyn i UI Automation-trädet och är självetiketterad med ett namn.
LabeledByProperty Null Ingen etikett.
ControlTypeProperty Menuitem Det här värdet är detsamma för alla gränssnittsramverk.
LocalizedControlTypeProperty "menyalternativ" Lokaliserad sträng som motsvarar kontrolltypen MenuItem.
IsContentElementProperty Sant Menyalternativkontrollen ingår aldrig i innehållsvyn i UI Automation-trädet.
IsControlElementProperty Sant Menyalternativkontrollen måste alltid ingå i kontrollvyn för UI Automation-trädet.

Nödvändiga UI Automation-kontrollmönster

I följande tabell visas de UI Automation-kontrollmönster som krävs för att stödjas av menyalternativkontroller. Mer information om kontrollmönster finns i Översikt över UI Automation-kontrollmönster.

Egenskap för kontrollmönster Support Kommentar
IExpandCollapseProvider Beror Om kontrollen kan expanderas eller komprimeras implementerar du IExpandCollapseProvider.
IInvokeProvider Beror Om kontrollen kör en enda åtgärd eller ett kommando implementerar du IInvokeProvider.
IToggleProvider Beror Om kontrollen representerar ett alternativ som kan aktiveras eller inaktiveras implementerar du IToggleProvider.
ISelectionItemProvider Beror Om kontrollen används för att välja från en lista över alternativ bland menyalternativ implementerar du ISelectionItemProvider.

UI Automation-händelser för menyalternativ

I följande tabell visas de Microsoft UI Automation-händelser som är associerade med menyalternativkontrollen.

Event Support Förklaring
InvokedEvent Beror Måste aktiveras om kontrollen stöder mönstret Anropa kontroll.
ToggleStateProperty händelse som ändrats av egenskapen. Beror Måste aktiveras om kontrollen stöder växla kontrollmönster.
ExpandCollapseStateProperty händelse som ändrats av egenskapen. Beror Måste aktiveras om kontrollen stöder mönstret Visa dölj kontroll.
ElementSelectedEvent Beror Inga.

Nödvändiga UI Automation-händelser

I följande tabell visas de UI Automation-händelser som krävs för att stödjas av alla menyalternativkontroller. Mer information om händelser finns i Översikt över UI Automation-händelser.

UI Automation-händelse Support/värde Kommentar
InvokedEvent Beror Ingen
ElementAddedToSelectionEvent Beror Ingen
ElementRemovedFromSelectionEvent Beror Ingen
ElementSelectedEvent Beror Ingen
BoundingRectangleProperty händelse som ändrats av egenskapen. Obligatoriskt Ingen
IsOffscreenProperty händelse som ändrats av egenskapen. Obligatoriskt Ingen
IsEnabledProperty händelse som ändrats av egenskapen. Obligatoriskt Ingen
ExpandCollapseStateProperty händelse som ändrats av egenskapen. Beror Ingen
ToggleStateProperty händelse som ändrats av egenskapen. Beror Ingen
AutomationFocusChangedEvent Obligatoriskt Ingen
StructureChangedEvent Obligatoriskt Ingen

Äldre problem

Växlingsmönster stöds endast när menyalternativet Win32 är markerat och kan fastställas programmatiskt för att stödja växlingsmönster. Eftersom menyalternativet Win32 inte visar om det har möjlighet att kontrolleras stöds Anropa mönster när menyalternativet inte är markerat. Ett undantag görs för att alltid stödja Invoke Pattern även för menyalternativ som endast ska ha stöd för växlingsmönster. Detta gör att klienter inte blir förvirrade över att ett element som stöder Invoke Pattern (när menyalternativet avmarkerades) inte längre stöder mönstret när det har markerats.

Se även