C# wpf WebBrowser遮挡上层UI的解决办法

大家都知道的,在wpf中引用WebBrowser是一个有独立句柄的窗口。

这样的话,wpf的UI就无法对齐进行覆盖,这里有一个折中的解决方案,在需要覆盖WebBrowser时,对其进行截图并隐藏控件,把他所占用的位置用一个Image替代,并将图片设置到Image上面,隐藏覆盖UI时,再把Image隐藏,WebBrowser显示出来就行了!

本文中需要的截图 我已经在前面发过文章
http://blog.csdn.net/aiqinxuancai/article/details/50541824

这里是xaml,我是用在wpf中,但是使用的是Forms中的控件,具体请找相关文章查看 关键字”WindowsFormsIntegration”

<Grid Background="#00000000" HorizontalAlignment="Right" Width="615" Margin="-3,0,0,-3">
    <Image x:Name="imageResource" Margin="2,0,-2,0" />

    <WindowsFormsHost x:Name="webResourceHost" Margin="2,0,-2,0">
        <web:ExtendedWebBrowser x:Name="webResource" BeforeNavigate="webResource_BeforeNavigate" BeforeNewWindow="webResource_BeforeNewWindow" DocumentCompleted="webResource_DocumentCompleted" />
    </WindowsFormsHost>
</Grid>

代码中使用

//隐藏并用Image替代WebBrowser
imageResource.Source = WebScreenshot.BrowserSnapShot(webResource);
webResourceHost.Visibility = Visibility.Hidden;

//------------------------------

//恢复WebBrowser
imageResource.Source = null;
webResourceHost.Visibility = Visibility.Visible;
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值