背景が透明な Win8 (別名 Metro スタイル アプリ) で Webview を作成する方法を探しています。HTML で背景を透明に設定すると、Webview の背景は常に白色でレンダリングされます。
Microsoft フォーラムで、この機能が利用できないという投稿を読みました:
Webview を透明にするためのライブラリまたは回避策はありますか?
XAMLで WebView DefaultBackgroundColor="Transparent"のプロパティを設定するだけです。
<WebView DefaultBackgroundColor="Transparent"/>
これには回避策があります。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 を示す透明な長方形です。
残念ながら、この方法では Web ビューを操作できません。
編集:私はこの回避策を自分で使用しており、msdn doc で見つけることができます: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.webviewbrush