VB.NET中WebView2控件显示深色模式,已设白色背景如何修正?
解决VB.NET WebView2控件深色模式背景问题
针对你遇到的WebView2加载HTML后显示黑色背景、设置DefaultBackgroundColor仍无效的问题,可通过以下两种方式解决:
1. 直接修改HTML源码(最直接有效)
WebView2的深色模式会影响未指定背景色的HTML内容,给<body>标签显式设置背景色和文字颜色,强制覆盖主题样式:
<html> <body style="background-color: #ffffff; color: #000000;"> <b>Test</b> </body> </html>
2. 配置WebView2控件的CoreWebView2设置
仅设置DefaultBackgroundColor不足以覆盖系统深色主题,需在控件初始化完成后,强制禁用深色模式并指定浅色配色方案:
Private Sub WebView21_CoreWebView2InitializationCompleted(sender As Object, e As CoreWebView2InitializationCompletedEventArgs) Handles WebView21.CoreWebView2InitializationCompleted ' 设置控件默认背景色 WebView21.DefaultBackgroundColor = Color.White ' 禁用深色模式 WebView21.CoreWebView2.Settings.IsDarkModeEnabled = False ' 强制使用浅色配色方案 WebView21.CoreWebView2.PreferredColorScheme = CoreWebView2PreferredColorScheme.Light End Sub
注意事项
- 确保WebView2控件已完成初始化(
CoreWebView2对象不为空),否则无法访问Settings属性; - 如果是通过
NavigateToString加载HTML字符串,直接使用修改后的HTML内容即可; - 两种方式结合使用可彻底避免深色背景问题。
内容的提问来源于stack exchange,提问作者Blind Spectator
相关产品推荐
相关产品推荐

