共用方式為


WebView2 的主要類別:環境、控制器與核心

CoreWebView2Environment、、 CoreWebView2Controller以及CoreWebView2類別 (或等效介面,) 協同運作,使你的應用程式能承載 WebView2 瀏覽器控制並存取其瀏覽器功能。 這三個大型類別會暴露出各種 API,讓你的主機應用程式能夠存取,為使用者提供多種與瀏覽器相關的功能。

  • CoreWebView2Environment 類別代表一組共用相同 WebView2 瀏覽器程序、使用者資料資料夾與渲染器的 WebView2 控制項。 從這個CoreWebView2Environment類別中,你會建立 和 CoreWebView2 的實例對CoreWebView2Controller

  • 這個 CoreWebView2Controller 類別負責與主機相關的功能,例如視窗焦點、可見性、大小和輸入,而你的應用程式則承載 WebView2 控制項。

  • CoreWebView2 類別針對 WebView2 控制項中特定的網頁部分,包括網路、導航、腳本,以及解析與渲染 HTML。

跨平台 API 實作

大多數 WebView2 API 最初是為 C++ 開發,接著大多數 C++ API 會被包裝成 C# API。 如此一來,跨平台與程式語言之間就能實現一致的平行性與等價性。

頂級班級概覽

概述:

  • CoreWebView2Environment
  • CoreWebView2
  • CoreWebView2Controller vs. WebView2 類別 (UI 框架專屬的 WebView2 元素類別,例如 WPF、WinForms 或 WinUI WebView2 類別) 。

或等價地:

  • ICoreWebView2Environment
  • ICoreWebView2
  • ICoreWebView2Controller

CoreWebView2Environment 代表一組 WebView2 控制項,這些控制項共享以下特性:

  • 它們共用相同的 WebView2 瀏覽器流程。
  • 它們共用同一個使用者資料資料夾。
  • 它們可能會共用 WebView2 渲染器及其他 WebView2 程序。

從 中 CoreWebView2Environment,你建立 CoreWebView2ControllerCoreWebView2 配對。 它們總是結合為 和 CoreWebView2Controller 對應 CoreWebView2的 。

  • 負責 CoreWebView2Controller 所有與主機相關的功能,如焦點、可見性、大小及輸入。
  • 此功能 CoreWebView2 適用於 WebView2 控制項中網頁專屬部分,包括網路、導航、腳本,以及解析與渲染 HTML。

UI 框架專屬的 WebView2 元素類別,如 WPF、WinForms 或 WinUI WebView2 類別

如果你使用的是 UI 框架專屬的 WebView2 元素類別,例如 WPF、WinForms 或 WinUI WebView2 類別,情況就不同了。

然後,WebView2 類別可以選擇性地使用 a CoreWebView2Environment 來使用;否則,它會建立一個預設 CoreWebView2Environment的 。 在內部,WebView2 類別會從 CoreWebView2ControllerCoreWebView2CoreWebView2Environment.

WebView2 會把它 CoreWebView2CoreWebView2 作一個屬性,但 CoreWebView2Controller 對班級來說是私密 WebView2 的。 這是因為該 WebView2 類別負責將所有 CoreWebView2Controller 功能連接到 UI 框架。