Как избежать визуальных артефактов при размещении пользовательских элементов управления WPF в приложении WinForms MDI?

При размещении пользовательских элементов управления WPF в приложении WinForms MDI возникает проблема с рисованием, когда у вас есть несколько форм, которые накладываются друг на друга, что вызывает очень четкие визуальные артефакты. Эти артефакты в основном видны после перетаскивания одной дочерней формы поверх другой, которая также содержит содержимое WPF, или путем предоставления возможности обрезать края дочерней формы основным родителем MDI при его перетаскивании. После того, как перетаскивание дочерней формы завершено, артефакты обычно остаются без изменений, но я обнаружил, что установка фокуса на окно другого приложения, а затем переориентация на окно моего приложения, что он перерисовывается, и все хорошо, пока ребенок формы перемещаются еще раз. Пожалуйста, смотрите изображение ниже, которое демонстрирует проблему.

Специалисты Microsoft настаивают на том, что WinForms MDI уже является достаточным решением для MDI и не нуждается в переизобретении в WPF, хотя мне трудно поверить, что они пытались создать приложение WPF таким образом из-за очевидных недостатков.

ОБНОВИТЬ: Несколько дополнительных замечаний, которые я пропустил, заключается в том, что если я создаю эти формы без установки MdiParent, они создаются как обычные формы, и эта проблема не возникает. Эта проблема кажется уникальной для сценария WinForms MDI. Кроме того, в настоящее время я работаю в Windows 7 Enterprise и знаю, что в Windows XP результаты могут отличаться, но я не смог проверить это.

ОБНОВИТЬ: Я нашел несколько других связанных ресурсов по этой проблеме, которые я думал, что должен поделиться.

проблема перерисовки elementHost в приложении MDI

проблема перерисовки elementHost в MDI-приложении на Tech Archive

Ответы на вопрос(4)

Ваш ответ на вопрос