Форма WPF загружается очень медленно после добавления SpellCheck.IsEnabled в элемент управления

Итак, у меня есть загадочная проблема, когда после того, как я добавил SpellCheck.IsEnabled к одному из моих элементов управления, форма, в которой размещен этот элемент управления, загружается более 3 секунд. Удалите атрибут проверки орфографии, и форма загрузится мгновенно.

Просто для справки, в форме изменено только следующее место:

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

С SpellCheck.IsEnabled="True" InitializeLayout формы занимает ~3 секунды, без него инициализация происходит мгновенно.

Чтобы сделать вещи еще более странными: это происходит только на моей машине разработки. При запуске скомпилированного приложения на другом компьютере нет проблем с мгновенным появлением формы.

Я подозреваю, что это связано с возможной проблемой поиска словарей в Windows, но я понятия не имею, где искать.

Есть идеи, что здесь может происходить?


person Rick Strahl    schedule 24.09.2017    source источник


Ответы (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

person Rick Strahl    schedule 24.09.2017
comment
У меня такая же проблема со скоростью, как вы видели, но у меня вообще нет ключа реестра. Под HKCU\SOFTWARE\Microsoft\Spelling у меня есть только ключ (Default) и подпапка Options. Любая идея, где я могу найти это, или что еще я могу сделать, чтобы решить эту проблему? чем - person Avrohom Yisroel; 23.05.2018
comment
Я получаю то же самое, и у меня нет записей реестра под HKCU\SOFTWARE\Microsoft\Spelling, например, у меня есть папка Microsoft, но в ней нет папки проверки правописания. Я также был свидетелем этого на одной машине, но не на другой. - person pingu2k4; 04.09.2018