0

我正在开发一个 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 控件的默认背景更改为白色以外

4

1 回答 1

1

问题是您无法更改 WebBrowserControl 本身的背景。

我遇到了同样的问题...我通过使 WebBrowserControl 折叠来解决它,当LoadCompletedWebBrowserControl 命中时,使其可见...

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触发的优势。当您加载一个小页面时,您将看不到可见/折叠部分的差异,并且您的闪烁问题消失了......

于 2013-11-12T12:56:40.037 回答