Silverlight Spell Checker Component
This Silverlight Spell Checker component allows you to apply spell checking functionality to your Silverlight 2 applications with the minimum of code. Dictionaries are not supplied, however they can be freely downloaded and used with this component.
To use the Spell Checker you will need to add a reference to Liquid.Components.dll in your project.
You need to login to Download the Spell Checker example, If you do not have a login you can register for free!
How to Use the Spell Checker Component
To demonstrate the Spell Checker component we have a single TextBox and a Button. The Button Click event handler takes the textbox text and runs it through the spell checker and populates a ListBox with spelling suggestions if the input word was not found in the dictionary. In your Silverlight XAML:
<UserControl x:Class="SpellChecker.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Canvas>
<TextBox x:Name="word" Canvas.Left="5" Canvas.Top="10" Width="200" />
<Button Content="Check" Canvas.Left="220" Canvas.Top="10" Click="Button_Click" />
<TextBlock Canvas.Left="5" Canvas.Top="40" Text="Suggestions" FontSize="25" />
<ListBox x:Name="suggestions" Canvas.Left="5" Canvas.Top="75" Width="200" Height="100" />
</Canvas>
</UserControl>
In your C# code behind file we handle the button click event and make the call to CheckWord() which returns true to indicate a correct word. If the word is incorrect we call GetSuggestions() which returns a List<string> collection of spelling suggestions which we use to simply populate our ListBox.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace SpellChecker
{
public partial class Page : UserControl
{
private Liquid.Components.SpellChecker _spellChecker;
public Page()
{
InitializeComponent();
_spellChecker = new Liquid.Components.SpellChecker((this.GetType().Assembly.GetManifestResourceStream("SpellChecker.dictionary.en-US.dic")));
}
private void Button_Click(object sender, RoutedEventArgs e)
{
bool success = _spellChecker.CheckWord(word.Text);
List<string> suggest;
if (!success)
{
suggest = _spellChecker.GetSuggestions(word.Text);
suggestions.Items.Clear();
foreach (string s in suggest)
{
suggestions.Items.Add(new ListBoxItem() { Content = s });
}
}
}
}
}
Example Silverlight Spell Checker:
Your Comments and Questions Answered
You are not logged in. You need to login to post new messages, if you do not have a login you can register for free!