WPF 嵌入Winform GDI 、 开启AllowsTransparenc问题
程序员文章站
2022-10-05 16:18:43
此文章可以解决2至少2个问题: 1.开启AllowsTransparenc造成的GDI+组件不显示问题 2.WPF 组件无法覆盖嵌入WPF窗口的任何第三方GDI+组件上层 方案1:自制双层 原理:用一个新的窗口来承载GDI+组件,实现 父窗口 拖动、缩放、最小化、最大化 的联动 事件。缺点:电脑性能 ......
此文章可以解决2至少2个问题:
1.开启AllowsTransparenc造成的GDI+组件不显示问题
2.WPF 组件无法覆盖嵌入WPF窗口的任何第三方GDI+组件上层
方案1:自制双层
原理:用一个新的窗口来承载GDI+组件,实现 父窗口 拖动、缩放、最小化、最大化 的联动 事件。
缺点:电脑性能太差会出现重影。
方案2:微软解决空域的方案
原理:用一个新的窗口来承载GDI+组件,实现 父窗口 拖动、缩放、最小化、最大化 的联动 事件。
缺点:电脑性能太差会出现重影。
<interop:AirspaceDecorator AirspaceMode="Redirect"
Background="{DynamicResource WhiteColorBrush}"
IsInputRedirectionEnabled="True"
IsOutputRedirectionEnabled="True">
<WebBrowser x:Name="WebBrowser" />
</interop:AirspaceDecorator>