Tra le molteplici funzionalità disponibili in Windows Presentation Foundation è presente la possibilità di abilitare il controllo ortografico su TextBox (caselle di testo semplici) e RichTextBox (caselle di testo che si possono formattare). Per farlo basta impostare l'attached property SpellCheck.IsEnabled a True e con poco sforzo, le parole, se non riconosciute, saranno sottolineate in rosso, mentre un menu contestuale permetterà di selezionare una tra le parole suggerite oppure di ignorare la parola stessa.
<TextBox SpellCheck.IsEnabled="True" Language="en-US" />
Oppure via codice
System.Windows.Controls.SpellCheck.SetIsEnabled(textBox1, true);
Per scegliere con quale vocabolario compiere il controllo ortografico, WPF utilizza i keyboard layout definiti in Windows. Se più schemi sono definiti, per esempio tastiera italiana e americana, è possibile per ogni FrameworkElement indicare la lingua da utilizzare. L'esempio precedente forza la lingua americana e di conseguenza il controllo ortografico sull'inglese.
Questa funzionalità sfrutta via interop la dll NaturalLanguage6 installata insieme a WPF e non richiede software aggiuntivo. Purtroppo tra i vocabolari disponibili non è compreso l'italiano, ma le lingue inglese, tedesco, francese e spagnolo. Non è dato sapere se vi è la possibilità di colmare questa lacuna. Si consideri che non vi è la possibilità di aggiungere nuove parole e quelle ignorate sono considerate solo all'interno della TextBox nella quale è stato detto di ignorare il termine.
E' inoltre possibile conoscere via codice quali sono gli errori interrogando GetNextSpellingErrorCharacterIndex e GetSpellingError. Quest'ultimo restituisce un oggetto SpellingError che restituisce la lista dei suggerimenti e due metodi per ignorare o correggere la parola.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.