2

我有一个在页面中加载 html 内容的 web 视图。它的背景如何设置为透明。我将 html 背景设置为透明。

4

3 回答 3

4

试试这个:

<WebView DefaultBackgroundColor="Transparent"/>
于 2014-10-26T23:56:37.697 回答
3

据我所知,这是不可能的,因为这是您在 Web 视图中呈现的实际 HTML 页面。webview 不是从Control派生的,因此,它不支持与我们使用从Control派生的控件相同的模板可能性。此外,由于浏览器不能拥有透明的网站,因此该网站默认显示为白色。

这可能与您的问题没有直接关系,但是我认为了解何时使用 Webview 仍然很重要。MSDN 上的文档中有一些关于 UI 和渲染的重要说明:

WebView 具有不能在 WebView 之上渲染其他 UI 区域(例如控件)的特点。这是因为窗口区域是如何在内部处理的,特别是如何处理输入事件以及如何绘制屏幕。如果你想渲染 HTML 内容并且在 HTML 内容之上放置其他 UI 元素,你应该使用 WebViewBrush 作为渲染区域。WebView 仍然提供 HTML 源信息,您可以通过 SourceName 属性引用该 WebView。WebViewBrush 没有此覆盖限制。如果要显示一个仅偶尔有重叠内容的交互式 WebView(例如下拉列表或应用栏),可以在必要时暂时隐藏 WebView 控件,将其替换为使用 WebViewBrush 填充的元素。然后,当重叠内容不再存在时,您可以再次显示原始 WebView。有关详细信息,请参阅 WebView 控件示例。

有关详细信息,请参阅完整文档

于 2013-03-28T13:44:17.453 回答
2

他们已在 Windows 通用应用程序中修复它。如果将 DefaultBackgroundColor 设置为透明并且

body, html { background:transparent; }

你会得到你想要的

于 2016-03-03T13:39:08.543 回答