WinUI 2 (UWP) 应用中的 WebView2

以下注意事项适用于 WinUI 2 (UWP) 应用中的 WebView2。 WebView2 WinUI 2 (UWP) 控件正在开发中。

自动填充 UI

UWP 应用的 WebView2 尚未实现自动填充 UI。

另请参阅:

打印到 PDF 要求应用有权访问 UWP 中的可写位置,例如本地文件夹。 有关 UWP 可访问路径的完整列表,请参阅 文件访问权限

另请参阅:

  • WebView2 API 概述中的打印

默认打印

对 UWP 应用的 WebView2 禁用默认打印。 但是,可以通过调用 CapturePreview来捕获和打印当前视区。

另请参阅:

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");

另请参阅:

设置透明度

在 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: progresscursor: 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

另请参阅

API 参考:

Windows 文档:

MDN:

  • MDN 处的游标 CSS 属性中的

WebView2Feedback 存储库: