我試圖使我的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. Windows Phone 7透明WebBrowser
- 2. 如何使透明背景的WebBrowser控件?
- 3. 順差是透明,同時使用PNG透明和不透明
- 4. 使KML/KMZ圖層透明/不透明
- 5. 繪製透明NSImage中使得透明
- 6. 不透明度使div更不透明
- 7. 使UIView透明
- 8. 使QToolBar透明
- 9. 使FrameLayout透明
- 10. 使EAGLView透明?
- 11. OpenGL的透明/半透明
- 12. WebBrowser控件c上的透明覆蓋圖#
- 13. 在WP7中禁用不透明的WebBrowser控件
- 14. 使矩形透明
- 15. 使控件透明
- 16. 使JComponent不透明
- 17. 使控件透明
- 18. 使用php刪除透明區域(裁剪透明)使用php
- 19. 透明度着色器用透明色填充透明片段
- 20. 通過不透明父項透明內部div非透明
- 21. WPF透明度和透明和非透明
- 22. 整體SVG不透明度/透明度
- 23. CSS過渡:不透明度不透明。 。
- 24. Android的透明圖片不是透明
- 25. WPF中透明的不透明元素
- 26. 透明表格上的透明標籤
- 27. iPhone SDK:透明tableviewcell不透明?
- 28. 透明div內的非透明div
- 29. JavaFX OSX WebView CSS不透明不透明
- 30. 透明div上的不透明字體
當然,這韓元」的外觀和感覺用圖像背景來幫助他,因爲大多數情況下,人們都會這樣做。 – 2011-05-25 18:16:32
我想我最終會做的是將整個頁面渲染爲Web瀏覽器控件,並將背景設置爲我的主題。 (我完全控制了我正在渲染的網站,因此我只需添加一些CSS以使其與主題相匹配)。 – Woody 2011-05-25 18:51:20