你的位置:首页 > 软件开发 > ASP.net > WPF中AllowsTransparency和WebBrowser兼容性问题

WPF中AllowsTransparency和WebBrowser兼容性问题

发布时间:2016-02-24 17:00:48
最近项目中需要在WPF中加入WebBrowser控件,发现与AllowsTransparency="True" Window有冲突,在网上搜索了一下,找到的解决方案跟我的项目有冲突,只好自己解决。产生原因:引自http://www.cnblogs.com/Sk ...

最近项目中需要在WPF中加入WebBrowser控件,发现与AllowsTransparency="True" Window有冲突,在网上搜索了一下,找到的解决方案跟我的项目有冲突,只好自己解决。

产生原因:引自http://www.cnblogs.com/SkyD/archive/2009/12/16/1625216.html一段回复

原因在于 WebBrowser 控件是GDI负责呈现的。而WPF是用dx绘制的,但AllowsTransparency="True" Window 时原先由gdi绘制的窗体就没有了。完全用dx绘制。 WebBrowser 也就显示不出来,但能响应事件。

暂时想到最直接简单的解决办法就是做一个无边框不透明的窗体,在这个窗体上放置WebBrowser控件,将这个窗体置于需要WebBroswer的窗体之上(Owner),为了方便使用,封装成控件,包含两部分:

1、包含WebBrowser的窗体

2、自定义用户控件

 

1、窗体的xaml很简单,Web.xaml

<Window x:Class="ZControls.WebBrowserEx.Web"    ="http://schemas.microsoft.com/get='_blank'>winfx/2006/xaml/presentation"    ="http://schemas.microsoft.com/winfx/2006/xaml">  <Grid x:Name="grid"></Grid></Window>

原标题:WPF中AllowsTransparency和WebBrowser兼容性问题

关键词:wpf

wpf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。