WebView2 的主类:环境、控制器和核心
CoreWebView2Environment
(或等效接口的 、 CoreWebView2Controller
和 CoreWebView2
类) 协同工作,以便应用可以托管 WebView2 浏览器控件并访问其浏览器功能。 这三个大类公开了各种 API,主机应用可以访问这些 API,从而为用户提供许多与浏览器相关的功能类别。
- 类
CoreWebView2Environment
表示一组 WebView2 控件,这些控件共享相同的 WebView2 浏览器进程、用户数据文件夹和呈现器。 在此类CoreWebView2Environment
中,将创建 和CoreWebView2
实例对CoreWebView2Controller
。 - 类
CoreWebView2Controller
负责与托管相关的功能,例如窗口焦点、可见性、大小和输入,应用在其中托管 WebView2 控件。 - 类
CoreWebView2
适用于 WebView2 控件的特定于 Web 的部分,包括网络、导航、脚本以及分析和呈现 HTML。
跨平台 API 实现:大多数 WebView2 API 最初是为 C++ 开发的,然后大多数 C++ API 包装为 C# API。 这样,平台和编程语言之间就具有一致的并行度和等效性。
顶级类概述
概述:
CoreWebView2Environment
CoreWebView2
-
CoreWebView2Controller
WebView2
与 (UI 框架特定的 WebView2 元素类(如 WPF、WinForms 或 WinUIWebView2
类) )的类。
或者,等效:
ICoreWebView2Environment
ICoreWebView2
ICoreWebView2Controller
CoreWebView2Environment
表示一组 WebView2 控件,所有控件共享以下内容:
- 它们共享相同的 WebView2 浏览器进程。
- 它们共享相同的用户数据文件夹。
- 它们可能会共享 WebView2 呈现器和其他 WebView2 进程。
在 中 CoreWebView2Environment
,创建 CoreWebView2Controller
和 CoreWebView2
配对。 它们始终作为 CoreWebView2Controller
和相应的 CoreWebView2
走到一起。
-
CoreWebView2Controller
负责所有与托管相关的功能,例如焦点、可见性、大小和输入。 -
CoreWebView2
用于 WebView2 控件的特定于 Web 的部分,包括网络、导航、脚本以及分析和呈现 HTML。
UI 框架特定的 WebView2 元素类,例如 WPF、WinForms 或 WinUI WebView2 类
如果使用特定于 UI 框架的 WebView2 元素类(如 WPF、WinForms 或 WinUI WebView2 类),则情况会有所不同。
然后,WebView2 类可以选择使用 CoreWebView2Environment
,否则它将创建默认 CoreWebView2Environment
。 在内部,WebView2 类从 CoreWebView2Environment
创建其 CoreWebView2Controller
和 CoreWebView2
。 将其公开为 属性,但 CoreWebView2Controller
对 类保持私有WebView2
。CoreWebView2
CoreWebView2
WebView2
这是因为 类 WebView2
负责将所有 CoreWebView2Controller
功能连接到 UI 框架。