将SpellCheck.IsEnabled添加到控件

时间:2017-09-24 20:58:07

标签: wpf spell-checking

所以我有一个神秘的问题,在我将SpellCheck.IsEnabled添加到我的一个控件之后,承载此控件的表单需要花费3秒才能加载。删除拼写检查属性,表格立即加载。

仅供参考,以下是表格中唯一更改的地方:

<TextBox TextWrapping="Wrap" Height="100"
         Text="{Binding ActivePostMetadata.Abstract}" SpellCheck.IsEnabled="True" 
         IsEnabled="{Binding IsAbstractVisible}" 
                          />

使用SpellCheck.IsEnabled="True"表单的InitializeLayout需要大约3秒,没有它,初始化是即时的。

让事情更奇怪:它只发生在我的开发机器上。在另一台机器上运行已编译的应用程序时,表单立即弹出没有问题。

我怀疑它与查找词典的Windows问题有关,但我不知道在哪里看。

有什么想法可以在这里发生什么?

1 个答案:

答案 0 :(得分:1)

好的,经过一番研究后,问题似乎是由于此处注册了许多临时字典文件:

HKCU\SOFTWARE\Microsoft\Spelling\Dictionaries

我在tmpFiles注册了大约20个词典,其中很多都不存在。 tmpFiles中有很多文件,可能文件查找以及实际可用的2或3个字典导致速度变慢。不知道那里有什么转储临时词典,但我从列表中删除了所有临时文件(在我的情况下只留下Word词典),现在表单再次快速加载。

有关字典信息来自哪里以及最终让我发现这些内容的更多信息来自:

https://msdn.microsoft.com/en-us/library/windows/desktop/hh869748(v=vs.85).aspx