天天看點

WPF 嵌入Winform GDI 、 開啟AllowsTransparenc問題

原文:

WPF 嵌入Winform GDI 、 開啟AllowsTransparenc問題

此文章可以解決2至少2個問題:

1.開啟AllowsTransparenc造成的GDI+元件不顯示問題

2.WPF 元件無法覆寫嵌入WPF視窗的任何第三方GDI+元件上層

方案1:自制雙層

原理:用一個新的視窗來承載GDI+元件,實作 父視窗 拖動、縮放、最小化、最大化 的關聯 事件。

缺點:電腦性能太差會出現重影。

方案2:微軟解決空域的方案

<interop:AirspaceDecorator AirspaceMode="Redirect"

              Background="{DynamicResource WhiteColorBrush}"

              IsInputRedirectionEnabled="True"

              IsOutputRedirectionEnabled="True">

          <WebBrowser x:Name="WebBrowser" />

</interop:AirspaceDecorator>