Отображение строки в формате Html в веб-браузере с черным фоном

Я разрабатываю приложение для Windows Phone 8. В моем приложении я использую элемент управления WebBrowser для отображения строки в формате HTML. Мне нужно показать текст в формате html с черным фоном. Я делаю это успешно, но проблема в том, что

когда строка в формате html отображается в WebBrowser, сначала отображается белый цвет, а затем отображается фактическая строка с черным фоном. Это похоже на эффект flick, а затем показывает мою строку в формате 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 по умолчанию на другой, кроме белого?


person QAMAR    schedule 12.11.2013    source источник


Ответы (1)


Проблема в том, что вы не можете изменить фон самого WebBrowserControl.

У меня была та же проблема... Я решил ее, свернув WebBrowserControl, и когда LoadCompleted из WebBrowserControl попадает, сделать его видимым...

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. Поскольку вы загружаете небольшую страницу, вы не увидите разницы между видимой и свернутой частями, и ваша проблема с мерцанием исчезнет...

person pazcal    schedule 12.11.2013