在WPF中使用WebBrowser控件时,WebBrowser是一个单独绘制句柄,除了显示层级更高外,还不支持透明。
在我前面的文章中,解决了不规则窗口下,将WebBrowser显示出来。
https://www.cnblogs.com/zhaotianff/p/18408345
但是在页面未加载出来之前,能看到短暂的白屏情况。
一开始我查阅了各种资料,尝试寻找设置WebBrowser透明的办法,以失败告终。
后面想了一个中转的办法,解决方案如下:
1、设置WebBrowser的宽高为一个非常小的数值,例如0.1
此时WebBrowser能正常工作,但是处于一个几乎看不见的状态,就达到了透明的效果。
1 <WebBrowser x:Name="webBrowser" Width="1" Height="1" LoadCompleted="webBrowser_LoadCompleted"></WebBrowser>
2、在WebBrowser的LoadComplete事件处理函数中,将WebBrowser的大小恢复
LoadComplete代表网页已经加载完成了,此时可以正常显示WebBrowser控件了。
1 private void webBrowser_LoadCompleted(object sender, NavigationEventArgs e) 2 { 3 var browser = sender as WebBrowser; 4 browser.Width = 527; 5 browser.Height = 501; 6 }
标签:透明,sender,控件,背景,WebBrowser,LoadComplete,browser From: https://www.cnblogs.com/zhaotianff/p/18471607