ComponentOne SpellChecker for WPF and Silverlight
CustomParser Property (C1SpellChecker)
Example 

C1.Silverlight.SpellChecker Namespace > C1SpellChecker Class : CustomParser Property
Gets or sets a custom spell-checking parser.
Syntax
'Declaration
 
Public Property CustomParser As ISpellParser
public ISpellParser CustomParser {get; set;}
Remarks

This property allows you to specify a custom parser for breaking up text into words to be spell-checked.

For example, you may want to use a custom parser when checking source code files. This way you can spell-check the comments in the code and skip the actual code.

Example
The class below implements a custom parser that breaks words that contain underscores or mixed case into separate words. For example, this parser would treat "Customer_Code" or "CustomerCode" as two separate words.
public class Parser : C1.Win.C1SpellChecker.ISpellParser
{
  CharRange ISpellParser.GetNextWord(string text, int start, IgnoreOptions ignore, string previousWord)
  {
    // start with default implementation
    CharRange range = CharRange.GetNextWord(text, start, ignore, previousWord);
    
    // additional logic to handle underscores and mixed-case
    if (range != null)
    {
      // get original word
      string word = range.Text;
      
      // split word at underscores
      int index = word.IndexOf('_');
      if (index > -1)
      {
        word = word.Substring(0, index);
        range = new CharRange(word, range.Start, word == previousWord);
      }
      
      // split MixedCasedWords
      for (int i = 1; i < word.Length; i++)
      {
        if (char.IsUpper(word[i]) && char.IsLower(word[i - 1]))
        {
          word = word.Substring(0, i);
          range = new CharRange(word, range.Start, word == previousWord);
        }
      }
    }
    
    // done
    return range;
  }
  string ISpellParser.FilterWord(string word)
  {
    return word;
  }
}
See Also

Reference

C1SpellChecker Class
C1SpellChecker Members