我正在寻找一种在Win8(又名Metro风格应用)上创建具有透明背景的Webview的方法。如果我在HTML中将背景设置为透明,则Webview的背景将始终呈现为白色
在微软论坛中,我读了一篇帖子,说明此功能不可用:http://social.msdn.microsoft.com/Forums/nl-BE/winappswithcsharp/thread/c47c0f2e-b2c7-4691-8a20-929174504877
是否存在使Webview透明的库或解决方法?
答案 0 :(得分:4)
在XAML中设置WebView的属性 DefaultBackgroundColor =“Transparent”:
<WebView DefaultBackgroundColor="Transparent"/>
答案 1 :(得分:3)
有一种解决方法,它使用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