WinUI 2 (UWP) 应用中的 WebView2
以下注意事项适用于 WinUI 2 (UWP) 应用中的 WebView2。 WebView2 WinUI 2 (UWP) 控件正在开发中。
自动填充 UI
UWP 应用的 WebView2 尚未实现自动填充 UI。
另请参阅:
- 在 WebView2 API 概述中自动填充。
打印为 PDF
打印到 PDF 要求应用有权访问 UWP 中的可写位置,例如本地文件夹。 有关 UWP 可访问路径的完整列表,请参阅 文件访问权限。
另请参阅:
- WebView2 API 概述中的打印。
默认打印
对 UWP 应用的 WebView2 禁用默认打印。 但是,可以通过调用 CapturePreview
来捕获和打印当前视区。
另请参阅:
- WebView2 API 概述中的图像捕获。
SmartScreen
WebView2 将应用程序中导航到的 URL 发送到 SmartScreen 服务,以确保客户保持安全。 如果要禁用此导航,可以通过环境变量执行此作:
Environment.SetEnvironmentVariable("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--disable-features=msSmartScreenProtection");
必须在创建之前 CoreWebView2
设置此环境变量,这在最初设置 WebView2.Source 属性 或最初调用 WebView2.EnsureCoreWebView2Async 方法 时发生。
下载文件
UWP 中 WebView2 的当前下载行为存在几个已知限制。
另存为
通过 “另存为” 保存文件是正常工作的,并且已为 UWP 应用的 WebView2 启用。 文件将保存在用户选择的文件夹中。
文件下载到哪个文件夹
如果主机不更改 ResultFilePath
已下载文件的 ,则下载的文件将下载到文件夹中具有应用包名称 Downloads
的子文件夹中。
如果主机更改 ResultFilePath
已下载文件的 ,则仅当应用默认有权访问该文件路径时,才会下载该文件。 如果要使用默认情况下应用无权访问的文件位置,则必须设置相应的功能。 请参阅 UWP 文档中 的应用功能声明 。
下载中心
禁用从下载中心打开文件和文件夹。 单击文件或文件夹图标不会打开相应的文件/文件夹。
另请参阅:
- WebView2 API 概述中的下载内容。
XAML 限制
XAML 岛支持需要额外的工作,并可能考虑在未来的版本。
设置 DefaultBackgroundColor
在 WinUI 2 上 DefaultBackgroundColor
,不会直接公开 属性。 可以通过设置环境变量来设置默认背景色,如下所示:
Environment.SetEnvironmentVariable("WEBVIEW2_DEFAULT_BACKGROUND_COLOR", "FF000000");
另请参阅:
- .NET: WebView2.DefaultBackgroundColor 属性
- Win32: ICoreWebView2Controller2::D efaultBackgroundColor 属性 (get,put)
设置透明度
在 WinUI 2 上,通过将颜色设置为 00FFFFFF
来实现透明度。
CSS 游标
在 WinUI 2 (UWP) 上,CSS 游标具有以下限制。
图像 URL
CSS 游标不能是图像 URL,例如 cursor: url(https://contoso.com/cursor.png), pointer;
。 请参阅 CSS - 从 URL 加载的游标不起作用。
预定义 CSS 游标
在 WinUI 2 (UWP) 上,不支持某些预定义 CSS 游标。 可以使用 CSS 游标将游标更改为某些预定义游标,例如 cursor: wait;
或 cursor: crosshair;
,但不能更改为其他游标,例如 cursor: progress
或 cursor: none
。
关键字 | 是否支持? |
---|---|
常规 | |
自动 | ✔️ |
违约 | ✔️ |
无 | ❌ |
链接 & 状态 | |
context-menu | ✔️ |
帮助 | ✔️ |
指针 | ✔️ |
progress | ❌ |
等 | ✔️ |
Selection | |
细胞 | ❌ |
十字线 | ✔️ |
text | ✔️ |
vertical-text | ❌ |
拖放 & | |
别名 | ❌ |
复制 | ❌ |
move | ✔️ |
no-drop | ✔️ |
不允许 | ✔️ |
抓 | ❌ |
抓住 | ❌ |
调整 & 滚动大小 | |
all-scroll | ✔️ |
col-resize | ❌ |
row-resize | ❌ |
n-resize | ✔️ |
e-resize | ✔️ |
s-resize | ✔️ |
w-resize | ✔️ |
ne-resize | ✔️ |
nw-resize | ✔️ |
se-resize | ✔️ |
sw-resize | ✔️ |
ew-resize | ✔️ |
ns-resize | ✔️ |
nesw-resize | ✔️ |
nwse-resize | ✔️ |
缩放 | |
放大缩小字体功能 放大缩小字体功能 | ❌ |
放大缩小字体功能 | ❌ |
另请参阅:
- CSS 游标 - 值部分描述上述关键字 (keyword) 值。
Microsoft Edge 开发人员工具
在 WinUI 2 上,Microsoft Edge DevTools 无法在应用商店签名的 WebView2 WinUI 2 (UWP) 应用中启动。 但是,可以使用远程调试来解决此问题。 请参阅 远程调试 WebView2 WinUI 2 (UWP) 应用。
API 限制
以下类在 WinUI 2 中不可访问:
CoreWebView2EnvironmentOptions
CoreWebView2ControllerOptions
另请参阅
- 在 WebView2 API 概述中自动填充。
- WebView2 API 概述中的打印。
- WebView2 API 概述中的图像捕获。
- WebView2 API 概述中的下载内容。
- 远程调试 WebView2 WinUI 2 (UWP) 应用
API 参考:
- .NET: WebView2.DefaultBackgroundColor 属性
- Win32: ICoreWebView2Controller2::_getDefaultBackgroundColor
- Win32: ICoreWebView2Controller2::_putDefaultBackgroundColor
Windows 文档:
MDN:
- MDN 处的游标 CSS 属性中的值。
WebView2Feedback 存储库: