我正在嘗試在Windows應用商店應用(C#/ XAML)中顯示html。但我無法找到一個適當的方式來顯示透明背景。有沒有什麼方法可以相應地瞭解應用程序背景顏色併爲WebView設置html格式?或者我應該更好地添加另一個頁面來顯示html-description,並將其背景設置爲我想事先(代碼)中的背景?或者也許有更好的方法?在Windows應用商店顯示html
P.S.如果可能的話,我也希望能夠處理超鏈接點擊。我知道我可以在WebView中這樣做。
我正在嘗試在Windows應用商店應用(C#/ XAML)中顯示html。但我無法找到一個適當的方式來顯示透明背景。有沒有什麼方法可以相應地瞭解應用程序背景顏色併爲WebView設置html格式?或者我應該更好地添加另一個頁面來顯示html-description,並將其背景設置爲我想事先(代碼)中的背景?或者也許有更好的方法?在Windows應用商店顯示html
P.S.如果可能的話,我也希望能夠處理超鏈接點擊。我知道我可以在WebView中這樣做。
我的理解是,WebView控件實際上呈現爲XAML圖層頂部的單獨表面,因此不支持透明度。你最好的選擇就是按照你的建議去做:找到當前的應用背景顏色並相應地設置WebView HTML的背景。
獲取應用程序背景顏色很簡單;像Resources["ApplicationPageBackgroundThemeBrush"]
會做的伎倆。
將該顏色應用於您希望導航到的任何頁面會更棘手,AFAIK。一種可能的方法(儘管我自己沒有嘗試過)是使用HttpClient
下載頁面的原始HTML並在調用WebView.NavigateToString()
之前修改背景顏色,而不是直接調用WebView.Navigate()
。
如果您可以編輯頁面源代碼,可以通過添加一些JS腳本來更改背景顏色來簡化該過程,然後使用WebView.InvokeScript()
。
感謝您的回答。我已經完成了幾乎完全相同的事情,你已經提出了(下載HTML,然後手動改變了背景和前景的顏色),但已經忘記了這個問題:-)但是,這種解決方案似乎不是一個好方法處理那個。我希望有更好的方法來做到這一點:-( – passick
我推測你使用的是XAML/C#? –
是的,C#/ XAML。我編輯了這個問題來反映這一點。 – passick
您是否嘗試顯示HTML源代碼或呈現的HTML頁面? –