CoreWebView2Environment、、 CoreWebView2Controller以及CoreWebView2類別 (或等效介面,) 協同運作,使你的應用程式能承載 WebView2 瀏覽器控制並存取其瀏覽器功能。 這三個大型類別會暴露出各種 API,讓你的主機應用程式能夠存取,為使用者提供多種與瀏覽器相關的功能。
該
CoreWebView2Environment類別代表一組共用相同 WebView2 瀏覽器程序、使用者資料資料夾與渲染器的 WebView2 控制項。 從這個CoreWebView2Environment類別中,你會建立 和CoreWebView2的實例對CoreWebView2Controller。這個
CoreWebView2Controller類別負責與主機相關的功能,例如視窗焦點、可見性、大小和輸入,而你的應用程式則承載 WebView2 控制項。本
CoreWebView2類別針對 WebView2 控制項中特定的網頁部分,包括網路、導航、腳本,以及解析與渲染 HTML。
跨平台 API 實作
大多數 WebView2 API 最初是為 C++ 開發,接著大多數 C++ API 會被包裝成 C# API。 如此一來,跨平台與程式語言之間就能實現一致的平行性與等價性。
頂級班級概覽
概述:
CoreWebView2EnvironmentCoreWebView2-
CoreWebView2Controllervs.WebView2類別 (UI 框架專屬的 WebView2 元素類別,例如 WPF、WinForms 或 WinUIWebView2類別) 。
或等價地:
ICoreWebView2EnvironmentICoreWebView2ICoreWebView2Controller
CoreWebView2Environment 代表一組 WebView2 控制項,這些控制項共享以下特性:
- 它們共用相同的 WebView2 瀏覽器流程。
- 它們共用同一個使用者資料資料夾。
- 它們可能會共用 WebView2 渲染器及其他 WebView2 程序。
從 中 CoreWebView2Environment,你建立 CoreWebView2Controller 和 CoreWebView2 配對。 它們總是結合為 和 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 會把它 CoreWebView2 當 CoreWebView2 作一個屬性,但 CoreWebView2Controller 對班級來說是私密 WebView2 的。 這是因為該 WebView2 類別負責將所有 CoreWebView2Controller 功能連接到 UI 框架。