Condividi tramite


Implementazione del pattern di controllo del valore nell'automazione dell'interfaccia utente

Annotazioni

Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.

Questo argomento presenta linee guida e convenzioni per l'implementazione IValueProvider, comprese le informazioni sugli eventi e le proprietà. Alla fine della panoramica sono elencati collegamenti ad altro materiale di riferimento.

Il ValuePattern pattern di controllo viene usato per supportare i controlli con un valore intrinseco che non si estende su un intervallo e che possono essere rappresentati come stringa. Questa stringa può essere modificabile, a seconda del controllo e delle relative impostazioni. Per esempi di controlli che implementano questo modello, vedere la Mappatura del pattern di controllo per i clienti dell'automazione dell'interfaccia utente.

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 degli elementi è modificabile, indipendentemente dalla modalità di modifica corrente del controllo. Il controllo padre deve supportare ValuePattern quando gli elementi figlio sono modificabili.

Elemento elenco modificabile. Esempio di elemento modificabile dell'elenco

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

  • Per recuperare il contenuto testuale di un controllo di modifica su 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, "giallo") e una struttura RGB interna equivalente.

Selettore colore con evidenziazione in giallo. Esempio di mappatura delle stringhe del campione di colore

Membri obbligatori per IValueProvider

Per l'implementazione IValueProviderdi sono necessari i metodi e le proprietà seguenti.

Membri obbligatori Tipo di membro Note
IsReadOnlyProperty Proprietà Nessuno
ValueProperty Proprietà Nessuno
SetValue Metodo Nessuno

Eccezioni

I provider devono sollevare 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 formattata in modo non corretto.
ArgumentException SetValue

- Se non è possibile convertire un nuovo valore da una stringa a un formato riconosciuto dal controllo.
ElementNotEnabledException SetValue

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

Vedere anche