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“ (?)
|
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.