WPF应用中对WindowsFormHost内容进行裁剪
发布时间:2021-01-07 13:23:03 所属栏目:系统 来源:网络整理
导读:副标题#e# 问题1:? ? WPF中在使用WindowsFormsHost调用WinFrom控件时,若在WindowsFormsHost上层添加了WPF控件,该控件不会显示出来。 Grid WindowsFormsHost Background="White" Winfrm:WebBrowser x:Name="WinFrmWebBrowser"/ /WindowsFormsHost !--运行
|
? ?两个WindowsFormHost叠加时,WindowsFormHost对于png的背景图不支持透明。如下图: <Grid x:Name="GdMain">
<Image x:Name="ImgSky" Source="Sky.jpg" Stretch="Fill"/>
<!--加载Winform的WebBrowser-->
<WindowsFormsHost Background="White">
<Winfrm:WebBrowser x:Name="WinFrmWebBrowser"/>
</WindowsFormsHost>
<WindowsFormsHost Width="182" Height="182" HorizontalAlignment="Right"
x:Name="WinfrmHostOverlayer" VerticalAlignment="Top"
Background="Transparent">
<Winfrm:Panel x:Name="WinfrmPanel"/>
</WindowsFormsHost>
</Grid>
可以看到右上角的png边框分明(实时上我放的是一张三个角均为透明的圆形png)。 若对右上角的Winform Panel进行裁剪。 裁剪完后,下面一层的WindowsFormHost也被裁了,露出了我用Image加载的星空底图,如下图: 解决方案:将要加载的Winform控件放在一起,可以是在同一个Winform Panel下面,这时在进行裁剪就不会有问题。如 <Grid x:Name="GdMain">
<Image x:Name="ImgSky" Source="Sky.jpg" Stretch="Fill"/>
<WindowsFormsHost HorizontalAlignment="Right"
x:Name="WinfrmHostOverlayer" VerticalAlignment="Top"
Background="Transparent">
<Winfrm:Panel x:Name="WinfrmPanel">
<!--<Winfrm:WebBrowser x:Name="WinFrmWebBrowser"/>-->
<!--<Winfrm:Panel x:Name="WinFrmSubPanel"/>-->
</Winfrm:Panel>
</WindowsFormsHost>
</Grid>
?上文中WebBrowser我都加载的是www.baidu.com.? 为了凸显效果,下图所示Demo加载的是腾讯企业邮箱主页。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

