mcpField
S
syncfusion-wpf-spellchecker

syncfusion-wpf-spellchecker

github.com/syncfusionDevelopment5154 installsUpdated 1w ago
Repository

About syncfusion-wpf-spellchecker

A guide for WPF developers integrating Syncfusion SfSpellChecker into text editor controls. It covers dialog and context-menu suggestions, multilingual dictionaries, custom entries, and ignore rules.

Key features

  1. 01Check spelling with a dialog or context menu
  2. 02Show live error highlighting and suggestions
  3. 03Support multiple languages and dictionary formats
  4. 04Add custom dictionaries and words
  5. 05Set ignore rules for URLs, email, and more

Use cases

  1. 01Add spell checking to WPF text editors
  2. 02Build document editors with multilingual dictionaries
  3. 03Add custom terms for specialized content
  4. 04Check email or HTML while ignoring specified text

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-spellchecker

After installing, type/syncfusion-wpf-spellcheckerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
customization.md
dictionary-support.md
getting-started.md
ignore-options.md
spell-check-methods.md

Details

From the project README

Implementing Syncfusion WPF SpellChecker

SfSpellChecker provides a simple and intuitive interface to check for spelling errors in WPF text editor controls. It offers suggestions for misspelled words through dialog and context menu, supports multiple languages/cultures, custom dictionaries, and various ignore options.

When to Use This Skill

Use this skill when you need to:

  • Add spell checking capability to WPF TextBox, RichTextBox, or other text editor controls
  • Implement dialog-based or context menu-based spell checking
  • Support multiple languages and cultures in spell checking
  • Add custom dictionaries (Hunspell, Ispell, or OpenOffice formats)
  • Configure ignore rules for emails, URLs, HTML tags, mixed case words, etc.
  • Provide real-time spelling suggestions to users
  • Customize spell checker appearance with themes
  • Handle spell check completion events

Component Overview

Control: SfSpellChecker (Syncfusion.Windows.Controls.SfSpellChecker)
Platform: WPF
Namespace: Syncfusion.Windows.Controls
Assembly: Syncfusion.SfSpellChecker.WPF

Key Capabilities:

  • Dialog-based spell checking with suggestion list
  • Context menu suggestions with right-click on error words
  • Multi-language support with custom dictionaries
  • Ignore options for special text patterns
  • Custom word dictionary support
  • Real-time error highlighting
  • Replace, Ignore All, Add to Dictionary actions

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and assembly deployment
  • Adding SfSpellChecker to an application
  • Attaching spell checker to TextBox
  • First spell check with dialog
  • Context menu setup
  • Enable/disable spell checking
  • Getting suggestions programmatically
Spell Check Methods

📄 Read: references/spell-check-methods.md

  • Dialog-based spell checking
  • Context menu-based suggestions
  • PerformSpellCheckUsingDialog method
  • Error word highlighting
  • Replace and ignore operations
  • Add to Dictionary functionality
Ignore Options

📄 Read: references/ignore-options.md

  • Ignoring email addresses
  • Ignoring URLs and internet addresses
  • Ignoring HTML tags
  • Ignoring mixed case words
  • Ignoring uppercase words
  • Ignoring alphanumeric words
  • Configuration examples
Dictionary Support

📄 Read: references/dictionary-support.md

  • Default English dictionary
  • Multi-language spell checking
  • Hunspell dictionary format
  • Ispell dictionary format
  • OpenOffice dictionary format
  • Adding custom dictionaries
  • Custom word lists
  • Switching culture at runtime
  • DictionaryCollection management
Customization and Theming

📄 Read: references/customization.md

  • SpellCheckCompleted event
  • Restricting completion message box
  • Theme support with SfSkinManager
  • ThemeStudio customization
  • Visual appearance options

Quick Start

Basic Setup with Dialog
<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf">
    <Grid>
        <StackPanel>
            <TextBox 
                Text="Ths is a sampel text with speling errors."
                Name="textbox"
                TextWrapping="Wrap">
                
                <!--Attach SpellChecker to TextBox-->
                <syncfusion:SfSpellChecker.SpellChecker>
                    <syncfusion:SfSpellChecker 
                        x:Name="spellChecker"
                        EnableSpellCheck="True"/>
                </syncfusion:SfSpellChecker.SpellChecker>
            </TextBox>
            
            <Button 
                Content="Spell Check"
                Click="SpellCheck_ButtonClick"
                HorizontalAlignment="Center"/>
        </StackPanel>
    </Grid>
</Window>
// Code-behind
private void SpellCheck_ButtonClick(object sender, RoutedEventArgs e)
{
    spellChecker.PerformSpellCheckUsingDialog();
}
Quick Setup with Context Menu
<syncfusion:SfSpellChecker 
    x:Name="spellChecker"
    EnableSpellCheck="True"
    EnableContextMenu="True"/>

Users can right-click on error words (red underlined) to see suggestions.

Common Patterns

Pattern 1: Basic Spell Check with Dialog
// Create spell checker instance
SfSpellChecker spellChecker = new SfSpellChecker();
spellChecker.EnableSpellCheck = true;

// Attach to TextBox
SfSpellChecker.SetSpellChecker(textbox, spellChecker);

// Open spell check dialog
spellChecker.PerformSpellCheckUsingDialog();
Pattern 2: Context Menu with Ignore Options
SfSpellChecker spellChecker = new SfSpellChecker();
spellChecker.EnableSpellCheck = true;
spellChecker.EnableContextMenu = true;

// Configure ignore options
spellChecker.IgnoreUrl = true;
spellChecker.IgnoreEmailAddress = true;
spellChecker.IgnoreUpperCaseWords = true;

SfSpellChecker.SetSpellChecker(textbox, spellChecker);
Pattern 3: Multi-Language Support
// Create culture-specific spell checker
CultureInfo culture = new CultureInfo("fr-FR");
SfSpellChecker spellChecker = new SfSpellChecker();

// Add French dictionary
spellChecker.Dictionaries = new DictionaryCollection();
spellChecker.Dictionaries.Add(
    new HunspellDictionary()
    {
        Culture = culture,
        GrammarUri = new Uri("/MyApp;component/Dictionaries/fr-FR.aff", UriKind.Relative),
        DictionaryUri = new Uri("/MyApp;component/Dictionaries/fr-FR.dic", UriKind.Relative)
    }
);

spellChecker.Culture = culture;
SfSpellChecker.SetSpellChecker(textbox, spellChecker);
Pattern 4: Custom Dictionary
// Add custom words dictionary
Uri customDictUri = new Uri(Directory.GetCurrentDirectory() + 
                           @"\Dictionaries\CustomWords.txt", UriKind.Absolute);

spellChecker.Dictionaries.Add(
    new CustomDictionary()
    {
        Culture = new CultureInfo("en-US"),
        DictionaryUri = customDictUri
    }
);
Pattern 5: Handle Spell Check Completion
spellChecker.SpellCheckCompleted += (sender, e) =>
{
    // Suppress default message box
    (e as SpellCheckCompletedEventArgs).ShowMessageBox = false;
    
    // Custom completion logic
    MessageBox.Show("Spell check completed!", "Done");
};

Key Properties

PropertyTypeDescription
EnableSpellCheckboolEnable/disable spell checking (default: true)
EnableContextMenuboolEnable context menu suggestions (default: true)
CultureCultureInfoCulture for spell checking
DictionariesDictionaryCollectionCollection of dictionaries
IgnoreUrlboolIgnore internet addresses
IgnoreEmailAddressboolIgnore email addresses
IgnoreHtmlTagsboolIgnore HTML tags
IgnoreMixedCaseWordsboolIgnore mixed case words (e.g., AbCDeFH)
IgnoreUpperCaseWordsboolIgnore all uppercase words
IgnoreAlphaNumericWordsboolIgnore words with numbers

Key Methods

MethodDescription
PerformSpellCheckUsingDialog()Opens spell check dialog
GetSuggestions(string word)Gets suggestion list for error word
GetPhoneticWords(string word)Gets phonetic word suggestions
GetAnagrams(string word)Gets anagram suggestions

Common Use Cases

  1. Text Editor with Spell Check - Add comprehensive spell checking to WPF text editors
  2. Multi-Language Document Editor - Support multiple languages with culture-specific dictionaries
  3. Custom Domain Dictionary - Add industry-specific or company-specific terms
  4. Email Client - Spell check with email/URL ignore options
  5. HTML Editor - Spell check while ignoring HTML markup
  6. Form Validation - Validate text input fields for spelling errors
  7. Accessible Text Input - Provide context menu for easy error correction

Sample Applications

GitHub samples: WPF SpellChecker Examples

Comments

Markdown supported