mcpField
S
syncfusion-wpf-spellchecker

syncfusion-wpf-spellchecker

github.com/syncfusion开发5154 次安装2 周前更新
代码仓库

关于 syncfusion-wpf-spellchecker

为 WPF 开发者提供 Syncfusion SfSpellChecker 集成指南,可为文本编辑控件添加拼写检查。它涵盖对话框和上下文菜单建议、多语言词典、自定义词条及忽略规则。

主要功能

  1. 01通过对话框或上下文菜单检查拼写
  2. 02提供实时错误标记和修改建议
  3. 03支持多语言及多种词典格式
  4. 04添加自定义词典和词条
  5. 05配置 URL、邮箱等忽略规则

适用场景

  1. 01为 WPF 文本编辑器添加拼写检查
  2. 02构建支持多语言词典的文档编辑器
  3. 03为专业领域文本添加自定义词条
  4. 04检查邮件或 HTML 内容并忽略特定文本

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/syncfusion-wpf-spellchecker确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

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

详细介绍

实现 Syncfusion WPF 拼写检查器

SfSpellChecker 提供简单直观的界面,可检查 WPF 文本编辑器控件中的拼写错误。它通过对话框和上下文菜单为拼错的单词提供建议,支持多种语言/区域性、自定义词典以及多种忽略选项。

何时使用此技能

在以下情况下使用此技能:

  • 为 WPF TextBox、RichTextBox 或其他文本编辑器控件添加拼写检查功能
  • 实现基于对话框或上下文菜单的拼写检查
  • 在拼写检查中支持多种语言和区域性
  • 添加自定义词典(Hunspell、Ispell 或 OpenOffice 格式)
  • 配置电子邮件、URL、HTML 标签、大小写混合单词等的忽略规则
  • 为用户提供实时拼写建议
  • 使用主题自定义拼写检查器的外观
  • 处理拼写检查完成事件

组件概览

控件: SfSpellChecker (Syncfusion.Windows.Controls.SfSpellChecker)
平台: WPF
命名空间: Syncfusion.Windows.Controls
程序集: Syncfusion.SfSpellChecker.WPF

主要功能:

  • 带建议列表的对话框式拼写检查
  • 右键单击错误单词时显示上下文菜单建议
  • 支持多种语言和自定义词典
  • 忽略特殊文本模式
  • 支持自定义单词词典
  • 实时突出显示错误
  • 替换、全部忽略、添加到词典等操作

文档与导航指南

入门

📄 阅读: references/getting-started.md

  • 安装和程序集部署
  • 在应用程序中添加 SfSpellChecker
  • 将拼写检查器附加到 TextBox
  • 使用对话框进行首次拼写检查
  • 设置上下文菜单
  • 启用/禁用拼写检查
  • 以编程方式获取建议
拼写检查方法

📄 阅读: references/spell-check-methods.md

  • 基于对话框的拼写检查
  • 基于上下文菜单的建议
  • PerformSpellCheckUsingDialog 方法
  • 突出显示错误单词
  • 替换和忽略操作
  • 添加到词典功能
忽略选项

📄 阅读: references/ignore-options.md

  • 忽略电子邮件地址
  • 忽略 URL 和互联网地址
  • 忽略 HTML 标签
  • 忽略大小写混合的单词
  • 忽略全大写单词
  • 忽略字母数字单词
  • 配置示例
词典支持

📄 阅读: references/dictionary-support.md

  • 默认英语词典
  • 多语言拼写检查
  • Hunspell 词典格式
  • Ispell 词典格式
  • OpenOffice 词典格式
  • 添加自定义词典
  • 自定义单词列表
  • 在运行时切换区域性
  • DictionaryCollection 管理
自定义与主题

📄 阅读: references/customization.md

  • SpellCheckCompleted 事件
  • 限制显示完成消息框
  • 使用 SfSkinManager 支持主题
  • ThemeStudio 自定义
  • 外观选项

快速入门

使用对话框进行基本设置
<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf">
    <Grid>
        <StackPanel>
            <TextBox 
                Text="Ths is a sampel text with speling errors."
                Name="textbox"
                TextWrapping="Wrap">
                
                
                <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();
}
使用上下文菜单快速设置
<syncfusion:SfSpellChecker 
    x:Name="spellChecker"
    EnableSpellCheck="True"
    EnableContextMenu="True"/>

用户可以右键单击错误单词(带红色下划线)查看建议。

常见模式

模式 1:使用对话框进行基本拼写检查
// Create spell checker instance
SfSpellChecker spellChecker = new SfSpellChecker();
spellChecker.EnableSpellCheck = true;

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

// Open spell check dialog
spellChecker.PerformSpellCheckUsingDialog();
模式 2:带忽略选项的上下文菜单
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);
模式 3:多语言支持
// 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);
模式 4:自定义词典
// 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
    }
);
模式 5:处理拼写检查完成事件
spellChecker.SpellCheckCompleted += (sender, e) =>
{
    // Suppress default message box
    (e as SpellCheckCompletedEventArgs).ShowMessageBox = false;
    
    // Custom completion logic
    MessageBox.Show("Spell check completed!", "Done");
};

关键属性

属性类型说明
EnableSpellCheckbool启用/禁用拼写检查(默认值:true)
EnableContextMenubool启用上下文菜单建议(默认值:true)
CultureCultureInfo拼写检查所用的区域性
DictionariesDictionaryCollection词典集合
IgnoreUrlbool忽略网络地址
IgnoreEmailAddressbool忽略电子邮件地址
IgnoreHtmlTagsbool忽略 HTML 标签
IgnoreMixedCaseWordsbool忽略大小写混合的单词(例如,AbCDeFH)
IgnoreUpperCaseWordsbool忽略全大写的单词
IgnoreAlphaNumericWordsbool忽略包含数字的单词

关键方法

方法说明
PerformSpellCheckUsingDialog()打开拼写检查对话框
GetSuggestions(string word)获取拼写错误单词的建议列表
GetPhoneticWords(string word)获取单词的语音建议
GetAnagrams(string word)获取单词的变位词建议

常见用例

  1. 带拼写检查的文本编辑器 - 为 WPF 文本编辑器添加全面的拼写检查功能
  2. 多语言文档编辑器 - 使用特定区域性的词典支持多种语言
  3. 自定义领域词典 - 添加特定行业或公司的术语
  4. 电子邮件客户端 - 使用忽略电子邮件/URL 选项进行拼写检查
  5. HTML 编辑器 - 忽略 HTML 标记的同时进行拼写检查
  6. 表单验证 - 验证文本输入字段中的拼写错误
  7. 无障碍文本输入 - 提供上下文菜单以便轻松更正错误

示例应用

GitHub 示例:WPF SpellChecker 示例

评论

支持 Markdown