WPF背景透明内嵌WebBrowser不显示问题,即AllowsTransparency = true 和 Webbrowser 等控件显示冲突

首先感谢两位先导者:

1. 解决 WPF AllowsTransparency = true 和 Webbrowser 等控件显示冲突

原文地址:https://www.cnblogs.com/zhiyin/p/6054567.html

<1>本方法用于WebBrowser的时候,_wb.LoadFile(path);需要换成 _wb.Navigate(path);

<2>打开程序显示闪现白块的解决方法(暂时减轻,没有解决)

_form = new Form();
_form.Opacity = owner.Opacity;
_form.ShowInTaskbar = false;
_form.FormBorderStyle = FormBorderStyle.None;
_wb.Dock = DockStyle.Fill;

_form.Width = 0;
_form.Height = 0;
_form.StartPosition = FormStartPosition.CenterScreen;//这个设置主要是把白块从左上角设置到程序中间,并设置母体的宽高尺寸为最小的。

_form.Controls.Add(_wb);

<3>网页滚动条用

WebBrowser属性scorllbarsenable设置为false就可以了

2.WPF内嵌WebBrowser不显示问题

原文地址:https://www.cnblogs.com/miketwais/articles/wpf_WebBrowser.html

<1>解决闪现白块方法

var w = new WebBrowserOverlay(this.BdBrowser);
var wb = w.WebBrowser;
//w.Height = 0;
//w.Width = 0;
//wb.Height = 160;
//wb.Width = 230;
w.WindowStartupLocation = WindowStartupLocation.CenterOwner;//控制闪现白块的位置
var HelpUrl = "https://www.baidu.com";
wb.Navigate(new System.Uri(HelpUrl));

<2>这个方法会出现WebBrowser的滚动条

解决:在嵌套的网页中加入<body scroll="no">

原文地址:https://www.cnblogs.com/uftwkb24/p/9482714.html