How to avoid visual artifacts when hosting WPF user controls within a WinForms MDI app?

Posted by jpierson on Stack Overflow See other posts from Stack Overflow or by jpierson
Published on 2010-04-07T04:10:42Z Indexed on 2010/04/07 4:13 UTC
Read the original article Hit count: 777

When hosting WPF user controls within a WinForms MDI app there is a drawing issue when you have multiple forms that overlap each other that causes very distinct visual artifacts. These artifacts are mostly visible after dragging one child form over another one that also hosts WPF content or by allowing the edges of the child form to be clipped by the main MDI parent when dragging it around. After the drag and drop of the child form is completed the artifacts stay around gernally but I've found that setting focus to a different application's window and then refocusing back on to my application window that it is redrawn and all is good again until the child forms are moved once again. Please see the image below which demonstrates the problem.

Screenshot of described artifacts

Since many at Microsoft insist that the WinForms MDI is already a complete solution for MDI even when dealing with WPF I find it hard to believe any of them have ever actually tried creating a mostly WPF app that utilizes WinForms MDI otherwise it would be hard to recommend while keeping a straignt face. I'm hoping to either come up with proof that this solution truly is not acceptable or possibly find a way to overcome this and a few other specific issues.

© Stack Overflow or respective owner

Related posts about wpf

Related posts about mdi