首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向RichTextBox的SpellCheck添加大CustomDictionary

向RichTextBox的SpellCheck添加大CustomDictionary
EN

Stack Overflow用户
提问于 2014-03-07 16:27:24
回答 2查看 704关注 0票数 0

我的WPF应用程序中有RichTextBox。它显示一个文档,可以在ListBox中选择该文档。选择RichTextBox.Document后,更改就像这样:

代码语言:javascript
复制
rtb.Document = SelectedDocument;

现在我需要启用SpellCheck。我需要添加CustomDictionary,因为标准拼写检查不支持俄语。我找到了.lex格式(约60Mb)的真正的大俄语词典,并尝试在应用程序开始时将其添加到SpellCheck中:

代码语言:javascript
复制
rtb.SpellCheck.CustomDictionaries.Add(new Uri(@"pack://application:,,,/Dictionaries/Russian.lex"));

启动时间增加了5-7秒,但这是可以的。主要问题是每次文档发生变化时SpellCheck都会加载该字典。文档的每次切换现在需要5-7秒。它不依赖于文档,我尝试了只有一个符号的文档。

如果我只想改变文档的内容(清除Document.Blocks并填充新的内容),所有的工作都不需要长时间的加载。但在这种情况下,我会丢失文本中的图像以及xaml与textbox和viewmodel之间的连接。

有没有办法禁止每次更改文档时都加载字典,或者更容易忘记standart拼写检查器并查找/编写另一个?

EN

回答 2

Stack Overflow用户

发布于 2018-01-30 21:09:33

看起来你的临时字典太多了。

全局打开寄存器编辑器(REGEDIT.EXE)

  • Go to "HKEY_CURRENT_USER\Software\Microsoft\Spelling\Dictionaries"

  • Open
  1. 并删除带有临时字典的行。只留下Office字典。检查来自"%USER%\AppData\Local\Temp"

的temp dictionaries

  • Remove这些字典的其他引用

如果您更改字典并尝试将其添加到SpellChecker,您可能会在临时文件夹和注册表中看到字典的两个版本。

更多信息here

票数 1
EN

Stack Overflow用户

发布于 2014-03-07 17:44:06

在切换文档内容之前,是否尝试禁用拼写检查器?

代码语言:javascript
复制
 rtb.SpellCheck.IsEnabled = false;

加载完文档后,请尝试重新启用它。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22245047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档