【问题标题】:Webbrowser control with Transparent background具有透明背景的 Web 浏览器控件
【发布时间】:2014-05-09 14:15:03
【问题描述】:

我正在开发 Windows phone 8 应用程序。

这是我的代码:

我在 XAML 中绑定数据:

<phone:WebBrowser  IsScriptEnabled="True"
                                       ScriptNotify="BrowserControlScriptNotify"
                                       ListBoxWebView:WebBrowserUtility.Html="{Binding WebView}"/>

这里的WebViewdata binded to webbrowser control

我有这样的内容:

<html><head>{0}</head><body bgcolor=BGCOLOR style=\"margin:0px;padding:0px;\" "

这里bgcolor=BGCOLOR 我希望bgcolor 是透明的。

我尝试过&lt;body style="background: transparent; margin: 0; padding: 0;"&gt;,但它不起作用。

【问题讨论】:

  • WebBrowser 控件实际上并不是 WPF,因此通常它不会很好地融入您的应用程序的其余部分。除了您通常希望对 UI 元素进行的其他更改之外,您无法使其透明。
  • @steveg89 如果我不设置bgcolor 它会给我默认的白色,但我希望它是透明的
  • 我的意思是,由于控件的实际底层设计,您将无法拥有透明背景。它总是呈现在其他控件之上,并且总是有一些颜色。此控件不支持不透明度和扩展透明度。
  • @steveg89 好的,我明白了你的意思,但是有什么解决方法吗?
  • 据我所知。我在我的一个应用程序中显示 HTML 时遇到了这个问题,但由于同样的问题最终走上了不同的路线。我无法将 WebBrowser 融合到我的 UI 中,所以它看起来像垃圾。我的印象是 8.1 带来了可能解决您的问题的更新控件。否则,我不知道移动端的解决方案。

标签: c# silverlight windows-phone-8 windows-phone webbrowser-control


【解决方案1】:

根据我给here 的答案(你已经看到了),不可能使网络浏览器控件的背景透明。

作为替代方案,您可以使用页面图像而不显示 webbrowser 控件作为您正在显示的 HTML 页面的背景。

不过有几个附带条件:
显然,这不适用于内容移动或更改的页面。
如果 XAML 页面内容不固定,则需要创建屏幕位图以用作背景。
您可能需要注意图像的相对路径(来自 HTML)。
这是未经我测试的,只是一个想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    相关资源
    最近更新 更多