Benutzeroberflächenautomatisierungs-Unterstützung für den MenuItem-Steuerelementtyp

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler konzipiert, die die verwalteten Klassen zur Automatisierung der Benutzeroberfläche verwenden möchten, die im Namespace System.Windows.Automation definiert sind. Aktuelle Informationen zur Automatisierung der Benutzeroberfläche finden Sie auf der Seite zur Windows-Automatisierungs-API: Benutzeroberflächenautomatisierung.

In diesem Thema erhalten Sie Informationen zur Unterstützung der Microsoft-Benutzeroberflächenautomatisierung für den Steuerelementtyp „MenuItem“. Hier wird die Struktur der Benutzeroberflächenautomatisierung für das Steuerelement beschrieben, und die Eigenschaften sowie Steuerelementmuster werden bereitgestellt, die für den Steuerelementtyp „MenuItem“ erforderlich sind.

Ein Menüsteuerelement ermöglicht die hierarchische Organisation von Elementen, die Befehlen und Ereignishandlern zugeordnet sind. In einer typischen Microsoft Windows-Anwendung enthält eine Menüleiste verschiedene Menüelemente (etwa Datei, Bearbeiten und Fenster), und nach dem Klicken auf ein Menüelement wird ein Menü angezeigt. Ein Menü enthält eine Sammlung von Menüelementen (z. B. Neu, Öffnenund Schließen), die erweitert werden können, um weitere Menüelemente anzuzeigen, oder auf die geklickt werden kann, um eine bestimmte Aktion auszuführen. Ein Menüelement kann in einem Menü, auf einer Menüleiste oder auf einer Symbolleiste gehostet werden.

In den folgenden Abschnitten werden die erforderliche Struktur der Benutzeroberflächenautomatisierung, Eigenschaften, Steuerelementmuster und Ereignisse für den Steuerelementtyp „MenuItem“ definiert. Die Anforderungen der Benutzeroberflächenautomatisierung gelten für alle Listensteuerelemente, unabhängig davon, ob Windows Presentation Foundation (WPF), Win32 oder Windows Forms verwendet wird.

Erforderliche Benutzeroberflächenautomatisierungs-Struktur

In der folgenden Tabelle werden die Steuerelementansicht und die Inhaltsansicht der Struktur der Benutzeroberflächenautomatisierung für MenuItem-Steuerelemente sowie die möglichen Inhalte der Ansichten beschrieben. Weitere Informationen zur Struktur der Benutzeroberflächenautomatisierung finden Sie unter Übersicht über die Struktur der Benutzeroberflächenautomatisierung.

Steuerelementansicht Inhaltsansicht
MenuItem „Hilfe“ (?)

  • Menü (Untermenü des Menüelements „Hilfe“)

    • MenuItem „Hilfethemen“
    • MenuItem „Info“
MenuItem „Hilfe“ (?)

- MenuItem „Hilfethemen“
- MenuItem „Info“

Die Steuerelementansicht des MenuItem-Steuerelements verfügt über die oben gezeigte Benutzeroberflächenautomatisierungs-Struktur. Beachten Sie, dass das Menüelement Hilfe einbezogen ist, um die Struktur einer typischen Hierarchie von Menü zu Untermenü besser zu veranschaulichen.

Bei der Inhaltsansicht fehlt das Menü in der Struktur der Benutzeroberflächenautomatisierung, da es dem Endbenutzer bzw. der Endbenutzerin keine relevanten Informationen vermittelt.

Erforderliche Benutzeroberflächenautomatisierungs-Eigenschaften

In der folgenden Tabelle sind die Eigenschaften der Benutzeroberflächenautomatisierung aufgeführt, deren Wert oder Definition für MenuItem-Steuerelemente von besonderem Interesse ist. Weitere Informationen zu den Eigenschaften der Benutzeroberflächenautomatisierung finden Sie unter Eigenschaften der Benutzeroberflächenautomatisierung für Clients.

Eigenschaft Wert Beschreibung
AutomationIdProperty Siehe Hinweise. Der Wert dieser Eigenschaft muss für alle Steuerelemente in einer Anwendung eindeutig sein.
BoundingRectangleProperty Siehe Hinweise. Das äußere Rechteck, das das gesamte Steuerelement enthält.
ClickablePointProperty Siehe Hinweise. Unterstützt, wenn es ein umschließendes Rechteck gibt. Wenn nicht auf jeden Punkt innerhalb des umschließenden Rechtecks geklickt werden kann, und Sie spezielle Treffertests ausführen, setzen Sie die Eigenschaft außer Kraft, und stellen Sie dann einen klickbaren Punkt bereit.
IsKeyboardFocusableProperty Siehe Hinweise. Wenn das Steuerelement den Tastaturfokus erhalten kann, muss es diese Eigenschaft unterstützen.
NameProperty Siehe Hinweise. Das MenuItem-Steuerelement ist in der Inhaltsansicht der Benutzeroberflächenautomatisierungs-Struktur enthalten und ist selbstbeschriftet.
LabeledByProperty Null Keine Bezeichnung.
ControlTypeProperty MenuItem Dieser Wert ist für alle Benutzeroberflächen-Frameworks gleich.
LocalizedControlTypeProperty „Menüelement“ Lokalisierte Zeichenfolge für den Steuerelementtyp „MenuItem“.
IsContentElementProperty True Das MenuItem-Steuerelement ist in der Inhaltsansicht der Benutzeroberflächenautomatisierungs-Struktur nie enthalten.
IsControlElementProperty True Das MenuItem-Steuerelement ist immer in der Steuerelementansicht der Benutzeroberflächenautomatisierungs-Struktur enthalten.

Erforderliche Benutzeroberflächenautomatisierungs-Steuerelementmuster

In der folgenden Tabellen sind die Steuerelementmuster der Benutzeroberflächenautomatisierung aufgeführt, die von den MenuItem-Steuerelementen unterstützt werden müssen. Weitere Informationen zu Steuerelementmustern finden Sie unter UI Automation Control Patterns Overview.

Steuerelementmustereigenschaft Support Hinweise
IExpandCollapseProvider Depends (Abhängig) Wenn das Steuerelement erweitert oder reduziert werden kann, implementieren Sie IExpandCollapseProvider.
IInvokeProvider Depends (Abhängig) Wenn das Steuerelement eine einzelne Aktion oder einen Befehl ausführt, implementieren Sie IInvokeProvider.
IToggleProvider Depends (Abhängig) Wenn das Steuerelement eine Option darstellt, die aktiviert oder deaktiviert werden kann, implementieren Sie IToggleProvider.
ISelectionItemProvider Depends (Abhängig) Wenn das Steuerelement für die Auswahl aus einer Liste von Optionen unter Menüelementen verwendet wird, implementieren Sie ISelectionItemProvider.

Benutzeroberflächenautomatisierungs-Ereignisse für Menüelemente

In der folgenden Tabelle sind die Ereignisse der Microsoft-Benutzeroberflächenautomatisierung aufgeführt, die dem MenuItem-Steuerelement zugeordnet sind.

Ereignis Support Erklärung
InvokedEvent Depends (Abhängig) Muss ausgelöst werden, wenn das Steuerelement Invoke-Steuerelementmuster unterstützt.
Durch geänderteToggleStateProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Muss ausgelöst werden, wenn das Steuerelement Toggle-Steuerelementmuster unterstützt.
Durch geänderteExpandCollapseStateProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Muss ausgelöst werden, wenn das Steuerelement „Expand Collapse“-Steuerelementmuster unterstützt.
ElementSelectedEvent Depends (Abhängig) Keine.

Erforderliche Benutzeroberflächenautomatisierungs-Ereignisse

In der folgenden Tabelle sind die Ereignisse der Benutzeroberflächenautomatisierung aufgeführt, die von allen MenuItem-Steuerelementen unterstützt werden müssen. Weitere Informationen zu Ereignissen finden Sie unter UI Automation Events Overview.

Ereignis der Benutzeroberflächenautomatisierung Unterstützung/Wert Hinweise
InvokedEvent Depends (Abhängig) Keine
ElementAddedToSelectionEvent Depends (Abhängig) Keine
ElementRemovedFromSelectionEvent Depends (Abhängig) Keine
ElementSelectedEvent Depends (Abhängig) Keine
Durch geänderteBoundingRectangleProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteIsOffscreenProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteIsEnabledProperty -Eigenschaft ausgelöstes Ereignis. Erforderlich Keine
Durch geänderteExpandCollapseStateProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
Durch geänderteToggleStateProperty -Eigenschaft ausgelöstes Ereignis. Depends (Abhängig) Keine
AutomationFocusChangedEvent Erforderlich Keine
StructureChangedEvent Erforderlich Keine

Legacyprobleme

Toggle-Muster werden nur unterstützt, wenn das Win32-Menüelement aktiviert ist und programmgesteuert festgelegt werden kann, was zum Unterstützen von Toggle-Mustern erforderlich ist. Da das Win32-Menüelement nicht offenlegt, ob es aktiviert werden kann, werden Invoke-Muster unterstützt, wenn das Menüelement nicht aktiviert ist. Es wird eine Ausnahme gemacht, um Invoke-Muster immer zu unterstützen. Dies gilt auch für Menüelemente, die ausschließlich Toggle-Muster unterstützen sollten. Der Grund hierfür ist, dass Clients nicht irritiert werden sollen, wenn ein Element, das Invoke-Muster unterstützt hat (wenn das Menüelement nicht aktiviert ist), dieses Muster nicht mehr unterstützt, nachdem das Menüelement aktiviert wurde.

Siehe auch