Win8上透明Webview的库/解决方法?
Posted
技术标签:
【中文标题】Win8上透明Webview的库/解决方法?【英文标题】:library/workaround for transparent Webview on Win8? 【发布时间】:2012-09-05 15:05:28 【问题描述】:我正在寻找一种在 Win8(又名 Metro 风格应用程序)上创建具有透明背景的 Webview 的方法。如果我在 html 中将背景设置为透明,则 Webview 的背景总是以白色呈现
在 Microsoft 论坛中,我看到一篇帖子说此功能不可用:http://social.msdn.microsoft.com/Forums/nl-BE/winappswithcsharp/thread/c47c0f2e-b2c7-4691-8a20-929174504877
是否有让 Webview 透明的库或解决方法?
【问题讨论】:
那个帖子似乎已经回答了你的问题。 它回答的唯一问题是功能是否存在。如果有库或解决方法,它不会回答。 【参考方案1】:只需在 XAML 中设置 WebView DefaultBackgroundColor="Transparent" 的属性:
<WebView DefaultBackgroundColor="Transparent"/>
【讨论】:
这个代码对我有用,你能提供你的代码吗?也许您将 webView 颜色与另一个属性重叠 这是我的代码,完美运行有一个解决方法,它使用 WebViewBrush 将 webview 绘制成一个矩形。
首先把你的webview和一个矩形放在一起:
<Grid>
<WebView x:Name="WebView6" />
<Rectangle Opacity="0.5" x:Name="Rect1"/>
</Grid>
在您的 webview 准备好并加载后(您可以使用 WebView 的 LoadComplete 事件),您可以运行以下代码:
WebViewBrush b = new WebViewBrush();
b.SourceName = "WebView6";
b.Redraw();
Rect1.Fill = b;
WebView6.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
将 webview 绘制到矩形,然后折叠 webview。
现在剩下的应该是显示您的 webview 的透明矩形。
不幸的是,您不能以这种方式与 webview 交互!
编辑:我自己使用这个解决方法,它可以在 msdn doc 中找到: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.webviewbrush
【讨论】:
以上是关于Win8上透明Webview的库/解决方法?的主要内容,如果未能解决你的问题,请参考以下文章
安装win8/win10提示无法在驱动器0分区上安装windows解决方法
Win8.1/Win10在某些程序输入中文变成问号的解决方法