Мы боролись с такими проблемами раньше. См. Этот форум WPF сообщение для получения дополнительной информации о нашем конкретном аромате (я не знаю, является ли это той же проблемой или нет).
Единственное, что мы нашли для работы, это изменение размера ElementHost .
_elementHost.Width++;
Это полный взлом, безобразный, и мне стыдно даже публиковать его. Но ничто другое никогда не помогало нам. Таким образом, это определенно обходной путь. (Гринь)
Мы попробовали Invalidate, Refresh и все, что могли придумать ... на ElementHost. Мы также попробовали InvalidateMeasure, InvalidateArrange и InvalidateVisual для содержимого, размещенного в WPF. Не повезло.
Если вы найдете другой способ исправить вашу проблему, я хотел бы услышать об этом.
Удачи, я знаю, что потерял несколько волос на этом.
Обновление 1:
Я отправил еще один форум WPF пост на эту тему. Может быть, мы можем получить ответ от Microsoft. Конечно, мне это кажется ошибкой.
Обновление 2:
После того, как я исправил проблему с обновлением вышеупомянутым хаком ... У меня все еще была другая проблема, которую я решил упомянуть здесь. То есть: была определенная задержка до обновления экрана. Это создавало впечатление, что пользователь переходил на другой экран (это не было ... это было просто содержимое буфера двойной буферизации). В итоге мне пришлось вручную вызывать System.Windows.Forms.Control.Refresh () для элемента управления, в котором размещался ElementHost. Таким образом, хотя пауза все еще была ... по крайней мере, экран был пуст ... и не было похоже, что пользователь куда-то перемещался ...