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 "?"

  • Menu (sottomenu della voce di menu della Guida in linea)

    • MenuItem "Guida in linea"
    • MenuItem "Informazioni su Blocco note"
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.

Vedi anche