1

我在 Windows Metro 应用程序中有以下控件:

string html = "<html><body>test content</body></head>";
myWebView.Opacity = 0.5;
myWebView.NavigateToString(html);

这可以正常工作,但我最终得到的是带有黑色文本的空白白色背景。我真正想要的是让它与当前的 Metro 风格一起使用(因此根据设置匹配深色或浅色背景)。如上所述,我已经使用了该Opacity设置,但似乎没有什么区别。

有没有办法让 WebView 控件镜像当前的 Metro 风格?

4

1 回答 1

1

这是设计使然。 WebView-Controls 不支持 any Opacity,因为它们是一种特殊的控件,呈现在一切之上。

来自 MSDN 文档:

WebView 具有不能在 WebView 之上渲染其他 UI 区域(例如控件)的特点。这是因为窗口区域是如何在内部处理的,特别是如何处理输入事件以及如何绘制屏幕。如果你想渲染 HTML 内容并且在 HTML 内容之上放置其他 UI 元素,你应该使用 WebViewBrush 作为渲染区域。WebView 仍然提供 HTML 源信息,您可以通过元素名称绑定和 SourceName 属性引用该 WebView。WebViewBrush 没有此覆盖限制。

于 2012-10-10T19:50:57.320 回答