Hauptklassen für WebView2: Umgebung, Controller und Core
Die CoreWebView2Environment
Klassen , CoreWebView2Controller
und CoreWebView2
(oder entsprechende Schnittstellen) arbeiten zusammen, damit Ihre App ein WebView2-Browsersteuerelement hosten und auf die zugehörigen Browserfeatures zugreifen kann. Diese drei großen Klassen machen eine vielzahl von APIs verfügbar, auf die Ihre Host-App zugreifen kann, um Viele Kategorien browserbezogener Features für Ihre Benutzer bereitzustellen.
- Die
CoreWebView2Environment
-Klasse stellt eine Gruppe von WebView2-Steuerelementen dar, die denselben WebView2-Browserprozess, denselben Benutzerdatenordner und den gleichen Renderer verwenden. Aus dieserCoreWebView2Environment
Klasse erstellen Sie Paare vonCoreWebView2Controller
- undCoreWebView2
-Instanzen. - Die
CoreWebView2Controller
-Klasse ist für hostingbezogene Funktionen wie Fensterfokus, Sichtbarkeit, Größe und Eingabe zuständig, in denen Ihre App das WebView2-Steuerelement hostet. - Die
CoreWebView2
-Klasse ist für die webspezifischen Teile des WebView2-Steuerelements vorgesehen, einschließlich Netzwerk, Navigation, Skript und Analysieren und Rendern von HTML.
Plattformübergreifende API-Implementierung: Die meisten WebView2-APIs werden anfänglich für C++ entwickelt, und dann werden die meisten C++-APIs als C#-APIs umschlossen. Auf diese Weise gibt es eine konsistente Parallelität und Äquivalenz zwischen Plattformen und Programmiersprachen.
Übersicht über die Klassen der obersten Ebene
Übersicht über:
CoreWebView2Environment
CoreWebView2
-
CoreWebView2Controller
im Vergleich zuWebView2
Klassen (benutzeroberflächenframeworkspezifische WebView2-Elementklasse wie die WPF-, WinForms- oder WinUI-KlassenWebView2
).
oder gleichwertig:
ICoreWebView2Environment
ICoreWebView2
ICoreWebView2Controller
CoreWebView2Environment
stellt eine Gruppe von WebView2-Steuerelementen dar, die alle die folgenden Elemente gemeinsam nutzen:
- Sie verwenden denselben WebView2-Browserprozess.
- Sie verwenden denselben Benutzerdatenordner.
- Sie können webView2-Renderer und andere WebView2-Prozesse gemeinsam nutzen.
Aus erstellen CoreWebView2Environment
CoreWebView2Controller
Sie und CoreWebView2
-Paare. Sie kommen immer als und CoreWebView2Controller
eine entsprechende CoreWebView2
zusammen.
- Ist
CoreWebView2Controller
für alle hostingbezogenen Funktionen wie Fokus, Sichtbarkeit, Größe und Eingabe verantwortlich. - Ist
CoreWebView2
für die webspezifischen Teile des WebView2-Steuerelements vorgesehen, einschließlich Netzwerk, Navigation, Skript und Analysieren und Rendern von HTML.
Benutzeroberflächenframeworkspezifische WebView2-Elementklasse, z. B. WPF-, WinForms- oder WinUI-WebView2-Klassen
Dies ist anders, wenn Sie eine benutzeroberflächenframeworkspezifische WebView2-Elementklasse wie unsere WPF-, WinForms- oder WinUI-WebView2-Klassen verwenden.
Anschließend kann die WebView2-Klasse optional eine CoreWebView2Environment
verwenden, und andernfalls wird ein Standard erstellt CoreWebView2Environment
. Intern erstellt die WebView2-Klasse ihre CoreWebView2Controller
und CoreWebView2
aus CoreWebView2Environment
der . Macht WebView2
seine CoreWebView2
als CoreWebView2
-Eigenschaft verfügbar, aber die CoreWebView2Controller
wird für die WebView2
-Klasse privat gehalten. Dies liegt daran, dass die WebView2
-Klasse für die CoreWebView2Controller
Verbindung aller Funktionen mit dem Benutzeroberflächenframework zuständig ist.