我正在开发一个Windows Phone 8应用程序。在我的应用程序中,我使用WebBrowser控件来显示HTML格式的字符串。我需要用黑色背景显示html格式的文本。我成功地做了,但问题是那个
当在WebBrowser中呈现html格式的字符串时,它首先显示白色,然后显示具有黑色背景的实际字符串。它看起来像轻弹效果,然后显示我的html格式化字符串。
我使用的代码是:
string html = ("<!DOCTYPE html5><html><head><meta name=\"viewport\" content=\"user-scalable=no background-color:black\" />" + sctipy + "</head><body style= \"background:#000; color:#fff;\"><div id=\"content\">" + myHtmlFormattedString + "</div></body>" + "</html>");
webbrowser.NavigateToString(html);
是否有任何其他解决方案,例如将WebBrowser控件的默认背景更改为白色
以外的其他解决方案答案 0 :(得分:1)
问题在于您无法更改WebBrowserControl本身的背景。
我遇到了同样的问题...我通过使WebBrowserControl崩溃并且当WebBrowserControl的LoadCompleted
命中时解决它,使其可见...
XAML:
<phone:WebBrowser x:Name="browser" IsScriptEnabled="True" Visibility="Collapsed" LoadCompleted="WebBrowser_LoadCompleted" />
在背面:
public void WebBrowser_LoadCompleted(object sender, EventArgs e);
{
browser.Visibility = Visibility.Visible;
}
这样,您还可以在加载(巨大的)页面时显示ProgressBar / ProgressRing并隐藏,直到WebBrowser_LoadCompleted
被触发。当你加载一个小页面时,你不会看到可见/折叠部分的差异,你的闪烁问题就消失了......