Share via


Hauptklassen für WebView2: Umgebung, Controller und Core

Die CoreWebView2EnvironmentKlassen , CoreWebView2Controllerund 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 dieser CoreWebView2Environment Klasse erstellen Sie Paare von CoreWebView2Controller - und CoreWebView2 -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 zu WebView2 Klassen (benutzeroberflächenframeworkspezifische WebView2-Elementklasse wie die WPF-, WinForms- oder WinUI-Klassen WebView2 ).

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 CoreWebView2EnvironmentCoreWebView2Controller Sie und CoreWebView2 -Paare. Sie kommen immer als und CoreWebView2Controller eine entsprechende CoreWebView2zusammen.

  • 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 CoreWebView2Environmentder . 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.