Condividi tramite


Implementazione del pattern di controllo Value di automazione interfaccia utente

NotaNota

La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese).

In questo argomento vengono presentate linee guida e convenzioni per l'implementazione dell'oggetto IValueProvider, incluse informazioni su eventi e proprietà. Alla fine dell'argomento sono elencati i collegamenti a ulteriori riferimenti.

Il pattern di controllo ValuePattern viene utilizzato per supportare i controlli contenenti un valore intrinseco che non si estende in un intervallo e che può essere rappresentato come una stringa. Questa stringa può essere modificabile, a seconda del controllo e delle relative impostazioni. Per alcuni esempi di controlli che implementano questo pattern, vedere Mapping dei pattern di controllo per i client di automazione interfaccia utente.

Nel presente argomento sono contenute le seguenti sezioni.

  • Linee guida e convenzioni per l'implementazione
  • Membri obbligatori per IValueProvider
  • Eccezioni
  • Argomenti correlati

Linee guida e convenzioni per l'implementazione

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

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

Esempio di un elemento dell'elenco modificabile

Elemento di elenco modificabile

  • I controlli di modifica a riga singola supportano l'accesso a livello di codice al contenuto implementando IValueProvider. Tuttavia, i controlli di modifica a più righe non implementano IValueProvider, ma forniscono l'accesso al contenuto implementando ITextProvider.

  • Per recuperare il contenuto testuale di un controllo di modifica a più righe, il controllo deve implementare ITextProvider. Tuttavia, ITextProvider non supporta l'impostazione del valore di un controllo.

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

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

Esempio di mapping di stringhe di campioni di colore

Selezione colori con il giallo evidenziato

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à

Nessuno

ValueProperty

Proprietà

Nessuno

SetValue

Metodo

Nessuno

Eccezioni

I provider devono generare le eccezioni seguenti.

Tipo di eccezione

Condizione

InvalidOperationException

SetValue

  • Se le informazioni specifiche delle impostazioni locali vengono passate a un controllo in un formato non corretto, ad esempio una data in formato errato.

ArgumentException

SetValue

  • Se un nuovo valore non può essere convertito da stringa a un formato riconoscibile per il controllo.

ElementNotEnabledException

SetValue

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

Vedere anche

Attività

Supportare pattern di controllo in un provider di automazione interfaccia utente

ValuePattern Insert Text Sample

Utilizzare la memorizzazione nella cache per l'automazione interfaccia utente

Concetti

Cenni preliminari sui pattern di controllo per l'automazione interfaccia utente

Pattern di controllo di automazione interfaccia utente per i client

Cenni preliminari sulla struttura ad albero di automazione dell'interfaccia utente