當在WinForms MDI應用程序內託管WPF用戶控件時,如果有多個表單相互重疊而導致截然不同的視覺工件,則會出現繪圖問題。這些工件在將一個子窗體拖到另一個也承載WPF內容的子窗體上或通過允許子窗體的邊緣被拖動時由主MDI父窗口裁剪後大多可見。在完成子表單的拖放操作後,工件總是保持不變,但是我發現將焦點設置到不同的應用程序窗口,然後重新將焦點重新集中到我的應用程序窗口上,重新繪製並重新繪製,直到孩子再次出現爲止。表格再次移動。請參閱下面的圖像來演示問題。如何在WinForms MDI應用程序中託管WPF用戶控件時避免視覺工件?
那些在微軟堅持認爲的WinForms MDI已經是MDI足夠的解決方案,不需要在WPF重塑雖然我很難相信他們試圖創建一個WPF應用程序這種方式,因爲的缺點明顯。
更新:我遺漏了一些額外的筆記,如果我創建這些表單而不設置MdiParent,它們被創建爲常規形式,並且不會發生此問題。對於WinForms MDI方案,此問題似乎是唯一的。此外,我目前正在Windows 7 Enterprise上運行,並且我知道Windows XP上的結果可能會非常不同,但我無法對此進行測試。
更新:我在這個問題上發現了一些其他相關資源,我想我應該分享。