2017-09-24 74 views
0

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

仅供参考,以下是形式变化的唯一的地方:

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

随着SpellCheck.IsEnabled="True"形式的InitializeLayout大约需要3秒,没有它的初始化是即时的。

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

我怀疑它与可能的Windows查找字典问题有关,但我不知道在哪里寻找。

任何想法可能会发生什么?

回答

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