* Updated H2 headings for US-1889327. * Review edits. * Apply suggestions from code review Co-authored-by: Andy (Steve) De George <[email protected]>
3.0 KiB
title, description, ms.date, ms.custom, dev_langs, helpviewer_keywords, ms.assetid
| title | description | ms.date | ms.custom | dev_langs | helpviewer_keywords | ms.assetid | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| How to: Use Spell Checking with a Context Menu | Learn how to use Spell Checking with a Context Menu. | 03/30/2017 | devdivchpfy22 |
|
|
61f69a20-2ff3-4056-9060-e32f4483ec5e |
How to: Use Spell Checking with a Context Menu
By default, when you enable spell checking in an editing control like xref:System.Windows.Controls.TextBox or xref:System.Windows.Controls.RichTextBox, you get spell-checking choices in the context menu. For example, when users right-click a misspelled word, they get a set of spelling suggestions or the option to Ignore All. However, when you override the default context menu with your own custom context menu, this functionality is lost, and you need to write code to reenable the spell-checking feature in the context menu. The following example shows how to enable this on a xref:System.Windows.Controls.TextBox.
Define a Context Menu
The following example shows the [!INCLUDETLA#tla_xaml] that creates a xref:System.Windows.Controls.TextBox with some events that are used to implement the context menu.
[!code-xamlTextBoxMiscSnippets_snip#SpellerCustomContextMenuExampleWholePage]
Implement a Context Menu
The following example shows the code that implements the context menu.
[!code-csharpTextBoxMiscSnippets_snip#SpellerCustomContextMenuCodeExampleWholePage] [!code-vbTextBoxMiscSnippets_snip#SpellerCustomContextMenuCodeExampleWholePage]
The code used for doing this with a xref:System.Windows.Controls.RichTextBox is similar. The main difference is in the parameter passed to the GetSpellingError method. For a xref:System.Windows.Controls.TextBox, pass the integer index of the caret position:
spellingError = myTextBox.GetSpellingError(caretIndex);
For a xref:System.Windows.Controls.RichTextBox, pass the xref:System.Windows.Documents.TextPointer that specifies the caret position:
spellingError = myRichTextBox.GetSpellingError(myRichTextBox.CaretPosition);