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.

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:

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!

vitthalgb28 said:

when i used above code behind it shows me the following error
" value cannot be null parameter : stream "

please help.

06/11/2009 05:18

Silverlight 3

Latest News

  • Silverlight 2 Controls V5.2.1 Released
    Jul, 03 2009

    After several months since the last release we have implemented many fixes to the controls library. The Rich TextBox has been improved with Links...

  • Silverlight 3 BETA Controls Released
    Mar, 30 2009

    As Silverlight 3 BETA is available now to test we thought we would present the Liquid Controls library for Silverlight 3. This BETA...

Silverlight 2 Controls

  • Rich TextBox

    Create and edit rich content with this slick and expandable Rich TextBox...

  • TreeView

    This easy to use TreeView comes with drag and drop, sorting, searching and much more...

  • Context Menu

    You too can have cool popup context menus in your Silverlight applications...

  • Resizable Dialog

    Draggable and resizable popup dialogs are what serious Silverlight developers need...

  • Spell Checker

    Real-time spell checking in Silverlight? We did it first here...