WPF SpellChecker in VB.NET
In this article we demonstrate how we can check Spellings in WPF.
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.