Here in this article I am explaining about WPF
SpellChecker feature. WPF has an inbuilt feature of SpellChecking. TextBox and
RichTextBox control in WPF offers SpellCheck support just like Microsoft Word,
as Typed words are checked and correct alternatives are offered via a popup
menu. To activate the SpellChecker we just need to set SpellCheck.IsEnabled
property to True. So with just some lines of code we can implement an importent
feature in our applications. SpellChecker implementation needs a
Grid, TextBlock and a TextBox control. All the controls in ToolBox looks like
below images.
Grid

TextBlock

TextBox

This ensures the TextBox automatically detect
misspelled words and will put an underline on the word.
When you drag all the controls and sets
properties of controls your window will look like below.

Step 1
Firstly we drag a grid and will set the row
height and column Height. As shown in the below code Snippet.
<Grid>
<Grid.RowDefinitions
>
<RowDefinition
Height="10"
/>
<RowDefinition
Height="
10"/>
<RowDefinition
Height="
10"/>
<RowDefinition
Height="Auto"
/>
<RowDefinition
Height="10"
/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="
10"/>
<ColumnDefinition
Width="
90"/>
<ColumnDefinition
Width="190"/>
<ColumnDefinition
Width="
Auto"/>
<ColumnDefinition
Width="
10"/>
</Grid.ColumnDefinitions>
</Grid>
Step 2
Then add a TextBlock as shown Below.
<TextBlock
Grid.ColumnSpan="3"
Grid.RowSpan="2"
Height="23"
HorizontalAlignment="Left"
Margin="10,10,0,0"
Name="txtsplblc"
Text="Type
Word For Spell Checking"
VerticalAlignment="Top"
Width="184"
/>
Step 3
And Lastly add a TextBox For Spell Checking.
<TextBox
Grid.RowSpan="2"
Height="23"
SpellCheck.IsEnabled="True"
AcceptsReturn="True"
HorizontalAlignment="Left"
Margin="64,10,0,0"
Name="txtsplchk"
VerticalAlignment="Top"
Width="200"
Grid.Column="2"
Grid.ColumnSpan="3"
/>
This is my complete XAML code.
<Window
x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
Height="314"
Width="411">
<Grid>
<Grid.RowDefinitions
>
<RowDefinition
Height="10"
/>
<RowDefinition
Height="
10"/>
<RowDefinition
Height="
10"/>
<RowDefinition
Height="Auto"
/>
<RowDefinition
Height="10"
/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="
10"/>
<ColumnDefinition
Width="
90"/>
<ColumnDefinition
Width="190"/>
<ColumnDefinition
Width="
Auto"/>
<ColumnDefinition
Width="
10"/>
</Grid.ColumnDefinitions>
<TextBlock
Grid.ColumnSpan="3"
Grid.RowSpan="2"
Height="23"
HorizontalAlignment="Left"
Margin="10,10,0,0"
Name="txtsplblc"
Text="Type
Word For Spell Checking"
VerticalAlignment="Top"
Width="184"
/>
<TextBox
Grid.RowSpan="2"
Height="23"
SpellCheck.IsEnabled="True"
AcceptsReturn="True"
HorizontalAlignment="Left"
Margin="64,10,0,0"
Name="txtsplchk"
VerticalAlignment="Top"
Width="200"
Grid.Column="2"
Grid.ColumnSpan="3"
/>
</Grid>
</Window>
When you run the application the window will
look like below.

Now Type a word for Spell Checking.

When we add some text controls to our
window, misspelled words will be highlighted immediately with red zigzag
underline, and a context menu will appear with spelling suggestions.
you can select the approriate word by
right-clicking on typed word, and can correct with suggested word. Like below.

Summary
In this article we learned that how to check Spellings in WPF.