Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Den här dokumentationen är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i System.Windows.Automation namnrymd. 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 New, Openoch Close), som kan expanderas för att visa ytterligare menyobjekt 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"
|
MenuItem "Hjälp" - MenuItem "Hjälpämnen" - Menyval "Om Notepad" |
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).
| Fastighet | 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, bör du åsidosätta och ange 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 | Menyobjekt | Det här värdet är detsamma för alla gränssnittsramverk. |
| LocalizedControlTypeProperty | "menyalternativ" | Lokaliserad sträng som motsvarar kontrolltypen MenuItem. |
| IsContentElementProperty | Sann | Menyalternativkontrollen ingår aldrig i innehållsvyn i UI Automation-trädet. |
| IsControlElementProperty | Sann | 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 UI Automation Control Patterns Overview.
| Egenskap för kontrollmönster | Stöd | Noteringar |
|---|---|---|
| IExpandCollapseProvider | Det beror på | Om kontrollen kan expanderas eller komprimeras implementerar du IExpandCollapseProvider. |
| IInvokeProvider | Det beror på | Om kontrollen kör en enda åtgärd eller ett kommando implementerar du IInvokeProvider. |
| IToggleProvider | Det beror på | Om kontrollen representerar ett alternativ som kan aktiveras eller inaktiveras implementerar du IToggleProvider. |
| ISelectionItemProvider | Det beror på | 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 menyobjekt
I följande tabell visas de Microsoft UI Automation-händelser som är associerade med menyalternativkontrollen.
| Evenemang | Stöd | Förklaring |
|---|---|---|
| InvokedEvent | Det beror på | Måste aktiveras om kontrollen stöder mönstret Anropa kontroll. |
| ToggleStateProperty egenskapsändringshändelse. | Det beror på | Måste höjas om kontrollen stöder växlingskontrollmönster. |
| ExpandCollapseStateProperty egenskapsändringshändelse. | Det beror på | Måste aktiveras om kontrollen stöder kontrollmönstret Utöka och dölj. |
| ElementSelectedEvent | Det beror på | Ingen. |
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 UI Automation Events Overview.
| UI Automation-händelse | Support/värde | Noteringar |
|---|---|---|
| InvokedEvent | Det beror på | Ingen |
| ElementAddedToSelectionEvent | Det beror på | Ingen |
| ElementRemovedFromSelectionEvent | Det beror på | Ingen |
| ElementSelectedEvent | Det beror på | Ingen |
| BoundingRectangleProperty egenskapsändringshändelse. | Krävs | Ingen |
| IsOffscreenProperty egenskapsändringshändelse. | Krävs | Ingen |
| IsEnabledProperty egenskapsändringshändelse. | Krävs | Ingen |
| ExpandCollapseStateProperty egenskapsändringshändelse. | Det beror på | Ingen |
| ToggleStateProperty egenskapsändringshändelse. | Det beror på | Ingen |
| AutomationFocusChangedEvent | Krävs | Ingen |
| StructureChangedEvent | Krävs | Ingen |
Äldre problem
Växlingsmönster stöds endast när menyalternativet Win32 är markerat och det kan fastställas programmatiskt att det är nödvändigt 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
- MenuItem
- Översikt över UI Automation-kontrollmönster
- översikt över typer av UI Automation-kontroller
- översikt över UI Automation