Stöd för användargränssnittsautomatisering för menyradskontrolltypen

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 UI Automation-stöd för MenuBar kontrolltypen. I UI Automation är en kontrolltyp en uppsättning villkor som en kontroll måste uppfylla för att kunna använda egenskapen ControlTypeProperty . Villkoren innehåller specifika riktlinjer för UI Automation-trädstruktur, UI Automation-egenskapsvärden och kontrollmönster.

Menyradskontroller är ett exempel på kontroller som implementerar kontrolltypen Menyrad. Menystaplar är ett sätt för användare att aktivera kommandon och alternativ som finns i ett program.

I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för kontrolltypen MenuBar. 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

Följande tabell visar kontrollvyn och innehållsvyn för UI Automation-trädet som gäller för menyradskontroller 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
Menyrad

- MenuItem (1 eller mer)
– Andra kontroller (0 eller många)
Menyrad

- MenuItem (1 eller mer)
– Andra kontroller (0 eller många)

Menyradskontroller kan innehålla andra kontroller, till exempel redigeringskontroller och kombinationsrutor i dess struktur. Dessa ytterligare kontroller motsvarar de "andra kontroller" som anges ovan i kontroll- och innehållsvyerna.

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 menyradskontrollerna. Mer information om egenskaper för UI Automation finns i UI Automation Properties for Clients (Egenskaper för gränssnittsautomatisering för klienter).

UI Automation-egenskap Värde Noteringar
BoundingRectangleProperty Se anteckningar. Värdet som exponeras av den här egenskapen måste innehålla alla kontroller som finns i den.
NameProperty Se anteckningar. Menyradskontrollen behöver inget namn om inte ett program har fler än en menyrad. Om det finns fler än en menyrad i ett program bör den här egenskapen användas för att exponera unika namn, till exempel "Formatering" eller "Beskrivning".
LabeledByProperty Null Menyradskontrollerna har aldrig någon etikett.
ControlTypeProperty Menyrad Det här värdet är detsamma för alla gränssnittsramverk.
LocalizedControlTypeProperty menyrad Lokaliserad sträng som motsvarar kontrolltypen Menyrad.
IsContentElementProperty Sann Menyradskontrollen ingår alltid i innehållsvyn i UI Automation-trädet.
IsControlElementProperty Sann Menyradskontrollen ingår alltid i kontrollvyn för UI Automation-trädet.
IsOffscreenProperty Se anteckningar. Värdet för den här egenskapen beror på om kontrollen kan visas på skärmen.
OrientationProperty Det beror på Den här egenskapen visar om menyradskontrollen är vågrät eller lodrät.
IsKeyboardFocusableProperty Sann Menyradskontroller är tangentbordsfokuserbara eftersom kontrollerna de innehåller kan fokusera på tangentbordet.
HelpTextProperty Se anteckningar. Inga scenarier för när hjälptext krävs för en menyradskontroll.
AcceleratorKeyProperty Null Menyraderna har aldrig acceleratornycklar.
AccessKeyProperty ALT Om du trycker på ALT-tangenten bör du alltid fokusera på menyraden i programmet.

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 menyradskontroller. Mer information om kontrollmönster finns i UI Automation Control Patterns Overview.

Kontrollmönster Stöd Noteringar
IExpandCollapseProvider Det beror på Om kontrollen kan expanderas eller komprimeras implementerar du IExpandCollapseProvider.
IDockProvider Det beror på Om kontrollen kan dockas till olika delar av skärmen implementerar du IDockProvider.
ITransformProvider Det beror på Om kontrollen kan storleksändras, roteras eller flyttas måste den implementera ITransformProvider.

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 menyradskontroller. Mer information om händelser finns i UI Automation Events Overview.

UI Automation-händelse Support/värde Noteringar
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
AutomationFocusChangedEvent Krävs Ingen
StructureChangedEvent Krävs Ingen

Se även