我正在尝试在我的 Windows 应用商店应用程序 (C#/XAML) 中显示一个 html。但我找不到合适的方式来显示它与透明背景。有什么方法可以相应地了解 WebView 的应用程序背景颜色和格式 html 吗?或者我应该更好地添加另一个页面来显示 html-description,并将其背景设置为我想要的背景(在代码中)?或者也许有更好的方法?
PS如果可能的话,我也希望能够处理超链接点击。我知道我可以在 WebView 中这样做。
我正在尝试在我的 Windows 应用商店应用程序 (C#/XAML) 中显示一个 html。但我找不到合适的方式来显示它与透明背景。有什么方法可以相应地了解 WebView 的应用程序背景颜色和格式 html 吗?或者我应该更好地添加另一个页面来显示 html-description,并将其背景设置为我想要的背景(在代码中)?或者也许有更好的方法?
PS如果可能的话,我也希望能够处理超链接点击。我知道我可以在 WebView 中这样做。
我的理解是 WebView 控件实际上呈现为 XAML 层之上的单独表面,因此不支持透明度。您最好的选择是按照您的建议进行操作:查找当前应用程序背景颜色并相应地设置 WebView HTML 的背景。
获取应用背景颜色很容易;类似的东西Resources["ApplicationPageBackgroundThemeBrush"]
可以解决问题。
AFAIK,将该颜色应用于您希望导航到的任何页面都比较棘手。一种可能有效的方法(尽管我自己没有尝试过)是使用HttpClient
下载页面的原始 HTML 并在调用之前修改背景颜色WebView.NavigateToString()
,而不是直接调用WebView.Navigate()
.
如果您可以编辑页面源代码,您可以通过添加一些 JS 脚本来更改背景颜色来简化流程,然后使用WebView.InvokeScript()
.