我試圖使我的Windows 7手機應用程序的WebBrowser控件透明,所以它可以有與應用程序的其餘部分相同的主題,但我沒有任何成功與我嘗試過的任何東西。 我需要仍然能夠看到HTML文本,但只是背景是透明的。在控件中使用CSS似乎不起作用,並且我也無法通過XAML使其工作。這可能嗎?這個post,並不令人鼓舞。使WebBrowser透明
5
A
回答
4
這是不可能的。瀏覽器引擎總是呈現HTML頁面的背景顏色。您可以爲BODY標籤分配顏色,但「透明」值總是以白色結束。您分配給WebBrowser XAML元素的背景顏色實際上沒有效果,因爲瀏覽器引擎基本上是在其頂部渲染的。
匹配您的應用程序主題的最佳方法是將應用程序主題背景顏色通過InvokeScript傳遞到HTML頁面,然後將其設置在BODY元素上。這假設您可以控制您正在加載的HTML內容。 (另外,不要忘記通過IsScriptEnabled啓用腳本。)
3
作爲嘗試加載一些初始內容以設置webbrowser控件顯示顏色以匹配頁面背景(或可能除此之外)的替代方法您可以將控件的不透明度設置爲0,然後在控件的Navigated
事件第一次觸發時將其更改爲1。
0
代碼解決方案:
private void SetHtml(WebBrowser browser, string body)
{
string style = "<style>";
string background = GetColorForCss("PhoneBackgroundColor");
string foreground = GetColorForCss("PhoneForegroundColor");
style += "body{background-color: " + background + "; color: " + foreground + ";}";
style += "</style>";
string html = "<!DOCTYPE html><html><head>" + style + "</head><body>" + body + "</body></html>";
Color phoneBackground = (Color)Application.Current.Resources["PhoneBackgroundColor"];
browser.Background = new SolidColorBrush(phoneBackground);
browser.Opacity = 0;
browser.NavigateToString(html);
browser.LoadCompleted += browser_LoadCompleted;
}
void browser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
_browser.OpacityMask = null;
_browser.Opacity = 1;
}
0
你可以風格的web瀏覽器組件顯示HTML內容,因此該組件將您的應用程序
web_browser.NavigateToString(html: "<html style='background-color:" + BACKGROUND_THEME_COLOR + ";color:" + FOREGROUND_THEME_COLOR + ";font-size:15pt;'>" + your_html_content + "</html>");
相關問題
- 1. 使webbrowser透明的背景
- 2. Windows Phone 7透明WebBrowser
- 3. 在透明窗口wpf webbrowser
- 4. C#WebBrowser,設置div的不透明度
- 5. 如何使透明背景的WebBrowser控件?
- 6. 使透明文字透明的CSS透明
- 7. 順差是透明,同時使用PNG透明和不透明
- 8. 使KML/KMZ圖層透明/不透明
- 9. 繪製透明NSImage中使得透明
- 10. 不透明度使div更不透明
- 11. 使JComboBox透明
- 12. 使FrameLayout透明
- 13. 使UIView透明
- 14. 使透明
- 15. 使EAGLView透明?
- 16. 使jtoolbar透明
- 17. 使KeyboardView透明
- 18. 使QToolBar透明
- 19. 使TileOverlays透明
- 20. OpenGL的透明/半透明
- 21. 如何在VB.Net中爲WebBrowser設置透明背景顏色?
- 22. WebBrowser控件c上的透明覆蓋圖#
- 23. 在WP7中禁用不透明的WebBrowser控件
- 24. WP7 WebBrowser的透明背景(解決方法)
- 25. 使控件透明
- 26. Microsoft Chart ...使透明
- 27. 使控件透明
- 28. 使UINavigationBar半透明
- 29. 使矩形透明
- 30. 使PNG透明 - PHP
當然,這韓元」的外觀和感覺用圖像背景來幫助他,因爲大多數情況下,人們都會這樣做。 – 2011-05-25 18:16:32
我想我最終會做的是將整個頁面渲染爲Web瀏覽器控件,並將背景設置爲我的主題。 (我完全控制了我正在渲染的網站,因此我只需添加一些CSS以使其與主題相匹配)。 – Woody 2011-05-25 18:51:20