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.
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.
Esempio di mapping delle stringhe dei campioni colore
- Un controllo deve avere IsEnabledProperty impostato su
true
e IsReadOnlyProperty impostato sufalse
prima di consentire una chiamata a SetValue.
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
- Panoramica dei pattern di controllo per l'automazione interfaccia utente
- Supportare pattern di controllo in un provider di automazione interfaccia utente
- Pattern di controllo di automazione interfaccia utente per i client
- Esempio di testo inserimento ValuePattern
- Panoramica dell'albero di automazione interfaccia utente
- Usare la memorizzazione nella cache in automazione interfaccia utente