3

Windows ストア アプリ (C#/XAML) で html を表示しようとしています。しかし、透明な背景で表示する適切な方法が見つかりません。アプリの背景色を知り、それに応じて WebView の html をフォーマットする方法はありますか? または、html の説明を表示するための別のページを追加し、その背景を事前に (コードで) 希望するものに設定する必要がありますか? それとも、もっと良いアプローチがありますか?

PS 可能であれば、ハイパーリンクのクリックも処理できるようにしたいと考えています。私は WebView でそれができることを知っています。

4

1 に答える 1

2

私の理解では、WebView コントロールは実際には XAML レイヤーの上に別のサーフェスとしてレンダリングされるため、透過性はサポートされません。あなたの最善の策は、あなたが提案したようにすることです: 現在のアプリの背景色を見つけ、それに応じて WebView HTML の背景を設定します。

アプリの背景色を取得するのは簡単です。Resources["ApplicationPageBackgroundThemeBrush"]トリックを行うような何か。

ナビゲートしたいページにその色を適用するのは難しいです。動作する可能性のある方法の 1 つ (自分で試したことはありません) は、 を直接呼び出すのではなくHttpClient、ページの生の HTML をダウンロードし、 を呼び出す前に背景色を変更することです。WebView.NavigateToString()WebView.Navigate()

ページ ソースを編集できる場合は、JS スクリプトを追加して背景色を変更し、WebView.InvokeScript().

于 2013-04-29T10:52:37.687 に答える