将 SpellCheck.IsEnabled 添加到控件后,WPF 表单加载速度非常慢

WPF Form Loads very slow after adding SpellCheck.IsEnabled to a Control

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

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

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

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

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

我怀疑这可能与查找词典的 Windows 问题有关,但我不知道去哪里找。

知道这里会发生什么吗?

好的,经过更多研究,问题似乎是由于此处注册了许多临时 词典文件造成的:

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