WPF 嵌入Winform GDI 开启AllowsTransparenc问题

Posted 梦机器

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 嵌入Winform GDI 开启AllowsTransparenc问题相关的知识,希望对你有一定的参考价值。

此文章可以解决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>

           

 

以上是关于WPF 嵌入Winform GDI 开启AllowsTransparenc问题的主要内容,如果未能解决你的问题,请参考以下文章

Winform WPF 绘制热力图组件 效果媲美B/S 热力图

C# WPF 怎样使用 Graphics呢?

winform 滚动条

WPF 精修篇 Winform 嵌入WPF控件

绘制大量半透明矩形,wpf和GDI哪个效率高?

wpf中嵌入winform控件的坑