Supporto per automazione interfaccia utente del tipo di controllo MenuItem
Nota
Questa documentazione è destinata agli sviluppatori .NET Framework che desiderano utilizzare le classi di Automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per informazioni aggiornate su Automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.
Questo argomento fornisce informazioni sul supporto per Automazione interfaccia utente Microsoft per il tipo di controllo MenuItem. Viene descritta la struttura ad albero del controllo di Microsoft Automazione interfaccia utente e vengono descritte le proprietà e i criteri di controllo obbligatori per il tipo di controllo MenuItem.
Un controllo menu consente l'organizzazione gerarchica degli elementi associati a comandi e gestori eventi. In una tipica applicazione Windows di Microsoft, una barra dei menu contiene più voci di menu (ad esempio File, Modifica e Finestra) e ciascuna voce di menu visualizza un menu. Un menu contiene una raccolta di voci di menu (ad esempio Nuovo, Aprie Chiudi), che può essere espansa per visualizzare altre voci di menu che, se selezionate, consentono di eseguire un'azione specifica. Una voce di menu può trovarsi in un menu, una barra dei menu o una barra degli strumenti.
Le seguenti sezioni definiscono la struttura ad albero, le proprietà, i criteri di controllo e gli eventi di Automazione interfaccia utente necessari per il tipo di controllo MenuItem. I requisiti di Automazione interfaccia utente si applicano a tutti i controlli elenco, siano essi Windows Presentation Foundation (WPF), Win32 o Windows Form.
Struttura ad albero di automazione interfaccia utente obbligatoria
La tabella seguente mostra la vista controllo e la vista contenuto dell'albero di Automazione interfaccia utente che riguarda i controlli voce di menu e descrive cosa può essere contenuto in ciascuna di esse. Per maggiori informazioni sull'albero di Automazione interfaccia utente, vedere Panoramica dell’albero di Automazione interfaccia utente.
Visualizzazione controlli | Visualizzazione contenuto |
---|---|
MenuItem "?"
|
MenuItem "?" - "Argomenti della guida" di MenuItem - "Informazioni su Blocco note" di MenuItem |
La vista controlli del controllo voce di menu presenta la struttura ad albero di Automazione interfaccia utente sopra illustrata. Si noti che la voce di menu Guida è stata inclusa per illustrare più chiaramente la struttura di una tipica gerarchia menu/sottomenu.
Per la vista contenuto, la voce Menu è assente dall'albero di Automazione interfaccia utente perché non apporta informazioni significative per l'utente finale.
Proprietà di automazione interfaccia utente obbligatorie
La seguente tabella elenca le proprietà di Automazione interfaccia utente il cui valore o definizione è particolarmente rilevante per i controlli voce di menu. Per maggiori informazioni sulle proprietà di Automazione interfaccia utente, vedere Proprietà di Automazione interfaccia utente per i client.
Proprietà | valore | Descrizione |
---|---|---|
AutomationIdProperty | Vedere le note. | Il valore di questa proprietà deve essere univoco in tutti i controlli in un'applicazione. |
BoundingRectangleProperty | Vedere le note. | Il rettangolo più esterno che contiene l'intero controllo. |
ClickablePointProperty | Vedere le note. | Supportata se è presente un rettangolo di delimitazione. Se non tutti i punti all'interno del rettangolo di delimitazione sono selezionabili ed è stato eseguito un processo di hit testing specializzato, eseguire l'override e implementare un punto selezionabile. |
IsKeyboardFocusableProperty | Vedere le note. | Se il controllo può ricevere lo stato attivo, deve supportare questa proprietà. |
NameProperty | Vedere le note. | Il controllo voce di menu è incluso nella vista contenuto dell'albero di Automazione interfaccia utente ed è automaticamente associato a un nome. |
LabeledByProperty | Null |
Nessuna etichetta |
ControlTypeProperty | MenuItem | Questo valore è uguale per tutti i framework dell'interfaccia utente. |
LocalizedControlTypeProperty | "menu item" | Stringa localizzata corrispondente al tipo di controllo MenuItem. |
IsContentElementProperty | Vero | Il controllo voce di menu non viene mai incluso nella vista contenuto dell'albero di Automazione interfaccia utente. |
IsControlElementProperty | Vero | Il controllo voce di menu deve essere sempre incluso nella vista controlli dell'albero di Automazione interfaccia utente. |
Pattern di controllo obbligatori per l'automazione interfaccia utente
La seguente tabella elenca i criteri di controllo di Automazione interfaccia utente che devono essere supportati dai controlli voce di menu. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.
Proprietà del pattern di controllo | Supporto tecnico | Note |
---|---|---|
IExpandCollapseProvider | Dipende da | Se il controllo può essere espanso o compresso, implementare IExpandCollapseProvider. |
IInvokeProvider | Dipende da | Se il controllo esegue un singolo comando o una singola azione, implementare IInvokeProvider. |
IToggleProvider | Dipende da | Se il controllo rappresenta un'opzione che può essere attivata o disattivata, implementare IToggleProvider. |
ISelectionItemProvider | Dipende da | Se il controllo viene usato per effettuare una selezione da un elenco di opzioni tra voci di menu, implementare ISelectionItemProvider. |
Eventi di automazione interfaccia utente per i controlli MenuItem
Nella tabella seguente sono elencati gli eventi di Automazione interfaccia utente Microsoft associati al controllo voce di menu.
Event | Supporto tecnico | Spiegazione |
---|---|---|
InvokedEvent | Dipende da | Deve essere generato se il controllo supporta il pattern di controllo Invoke. |
Evento di modifica della proprietàToggleStateProperty . | Dipende da | Deve essere generato se il controllo supporta il pattern di controllo Toggle. |
Evento di modifica della proprietàExpandCollapseStateProperty . | Dipende da | Deve essere generato se il controllo supporta il pattern di controllo ExpandCollapse. |
ElementSelectedEvent | Dipende da | Nessuno. |
Eventi di automazione interfaccia utente obbligatori
La seguente tabella elenca gli eventi di Automazione interfaccia utente che devono essere supportati da tutti i controlli voce di menu. Per altre informazioni sugli eventi, vedere UI Automation Events Overview.
Evento di Automazione interfaccia utente | Supporto/valore | Note |
---|---|---|
InvokedEvent | Dipende da | None |
ElementAddedToSelectionEvent | Dipende da | None |
ElementRemovedFromSelectionEvent | Dipende da | None |
ElementSelectedEvent | Dipende da | None |
Evento di modifica della proprietàBoundingRectangleProperty . | Richiesto | None |
Evento di modifica della proprietàIsOffscreenProperty . | Richiesto | None |
Evento di modifica della proprietàIsEnabledProperty . | Richiesto | None |
Evento di modifica della proprietàExpandCollapseStateProperty . | Dipende da | None |
Evento di modifica della proprietàToggleStateProperty . | Dipende da | None |
AutomationFocusChangedEvent | Richiesto | None |
StructureChangedEvent | Richiesto | None |
Problemi preesistenti
Il criterio Toggle è supportato solo quando la voce di menu Win32 è selezionata e può essere determinato a livello di codice che è necessaria per il supporto del criterio Toggle. Poiché la voce di menu Win32 non espone la possibilità di essere selezionata, il criterio Invoke è supportato quando la voce di menu non è selezionata. Il pattern Invoke verrà eccezionalmente supportato sempre per le voci di menu che devono solo supportare il pattern Toggle. Ciò consente di evitare confusione a livello di client quando un elemento che supporta il pattern Invoke (quando una voce di menu non è selezionata) non supporta più il pattern dopo essere stato selezionato.