Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
One of the interesting features in Editing is the speller and it works really well. :) One of the ineteresting scenarios when it comes to speller is to add the speller choices to a custom context menu. The speller choices would have to be added in the ContextMenuOpening event handler as below:
spellingError = textBox.GetSpellingError(caretIndex); if (spellingError != null){ foreach (string str in spellingError.Suggestions) { MenuItem mi = new MenuItem(); mi.Header = str; mi.FontWeight = FontWeights.Bold; mi.Command = EditingCommands.CorrectSpellingError; mi.CommandParameter = str; mi.CommandTarget = textBox; textBox.ContextMenu.Items.Insert(cmdIndex, mi); cmdIndex++; } Separator separatorMenuItem1 = new Separator(); textBox.ContextMenu.Items.Insert(cmdIndex, separatorMenuItem1); cmdIndex++; MenuItem ignoreAllMI = new MenuItem(); ignoreAllMI.Header = "Ignore All"; ignoreAllMI.Command = EditingCommands.IgnoreSpellingError; ignoreAllMI.CommandTarget = textBox; textBox.ContextMenu.Items.Insert(cmdIndex, ignoreAllMI); cmdIndex++; Separator separatorMenuItem2 = new Separator(); textBox.ContextMenu.Items.Insert(cmdIndex, separatorMenuItem2);}
Thats all there is to it. Its the same for RichTextBox except for the first line where you get the spellingError - rtb.GetSpellingError(rtb.CaretPosition)
The complete sample code is attached so that you can see it working in all glory :)..
Comments
- Anonymous
November 21, 2006
The comment has been removed - Anonymous
November 21, 2006
currently we do not support it in V1