Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
Esempio di mappatura delle stringhe del campione di colore
- Un controllo deve avere il suo IsEnabledProperty impostato su
truee il suo IsReadOnlyProperty impostato sufalseprima di consentire una chiamata a SetValue.
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
- Panoramica dei modelli di controllo per l'automazione dell'interfaccia utente
- Supportare i Pattern di Controllo in un Provider di Automazione dell'Interfaccia Utente
- Modelli di Controllo di Automazione per l'Interfaccia Utente dei Client
- Esempio di Inserimento Testo con Pattern di Valore
- Panoramica dell'albero di automazione dell'interfaccia utente
- Usare il caching nell'automazione dell'interfaccia utente