WPF应用中对WindowsFormHost内容进行裁剪(2)
发布时间:2021-01-07 01:11 所属栏目:52 来源:网络整理
导读:? ?两个WindowsFormHost叠加时,WindowsFormHost对于png的背景图不支持透明。如下图: Grid x:Name="GdMain" Image x:Name="ImgSky" Source="Sky.jpg" Stretch="Fill"/ !--加载Winform的WebBrowser-- WindowsFormsH
? ?两个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加载的是腾讯企业邮箱主页。 ? ?(编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读