Implementazione del pattern di controllo Value di automazione interfaccia utente

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 UI Automation, vedere API di automazione di Windows: UI Automation.

In questo argomento vengono presentate le linee guida e le convenzioni per l'implementazione di IValueProvider, incluse le informazioni relative a eventi e proprietà. Alla fine della panoramica sono elencati collegamenti ad altro materiale di riferimento.

Il pattern di controllo ValuePattern viene usato per supportare i controlli con un valore intrinseco che non si estende su un intervallo e che può essere rappresentato come stringa. Questa stringa può essere modificabile, a seconda del controllo e delle impostazioni. Per esempi di controlli che implementano questo pattern, vedere Control Pattern Mapping for UI Automation Clients.

Linee guida e convenzioni di implementazione

Quando si implementa il pattern di controllo Value, tenere presenti le linee guida e le convenzioni seguenti:

  • I controlli come ListItem e TreeItem devono supportare ValuePattern se il valore di uno qualsiasi degli elementi è modificabile, indipendentemente dalla modalità di modifica corrente del controllo. Il controllo padre deve supportare anche ValuePattern se gli elementi figlio sono modificabili.

Elemento di elenco modificabile. Esempio di elemento elenco modificabile

  • I controlli di modifica a riga singola supportano l'accesso a livello di codice ai contenuti implementando IValueProvider. I controlli di modifica a più righe, tuttavia, non implementano IValueProvider, ma forniscono l'accesso ai contenuti implementando ITextProvider.

  • Per recuperare i contenuti testuali di un controllo di modifica a più righe, il controllo deve implementare ITextProvider. ITextProvider non supporta, tuttavia, l'impostazione del valore di un controllo.

  • IValueProvider non supporta il recupero delle informazioni di formattazione o dei valori delle sottostringhe. Implementare ITextProvider in questi scenari.

  • IValueProvider deve essere implementato da controlli come il controllo di selezione Selezione colori in Microsoft Word (illustrato di seguito), che supporta il mapping delle stringhe tra il valore di un colore (ad esempio, "giallo") e una struttura RGB interna equivalente.

Selezione colori con il giallo evidenziato. Esempio di mapping delle stringhe dei campioni colore

Membri obbligatori per IValueProvider

Le proprietà e i metodi seguenti sono obbligatori per l'implementazione di IValueProvider.

Membri obbligatori Tipo di membro Note
IsReadOnlyProperty Proprietà None
ValueProperty Proprietà None
SetValue metodo None

Eccezioni

I provider devono generare le eccezioni seguenti.

Tipo di eccezione Condizione
InvalidOperationException SetValue

- Se informazioni specifiche delle impostazioni locali vengono passate a un controllo in un formato non corretto, ad esempio una data non formattata correttamente.
ArgumentException SetValue

- Se un nuovo valore non può essere convertito da una stringa a un formato riconosciuto dal controllo.
ElementNotEnabledException SetValue

- Quando viene effettuato un tentativo di modificare un controllo non abilitato.

Vedi anche