WebView2 の主なクラス: 環境、コントローラー、およびコア
、CoreWebView2Environment
CoreWebView2Controller
、および CoreWebView2
クラス (または同等のインターフェイス) が連携して、アプリが WebView2 ブラウザー コントロールをホストし、そのブラウザー機能にアクセスできるようにします。 これら 3 つの大規模なクラスでは、ホスト アプリがアクセスできるさまざまな API を公開し、ユーザーにブラウザー関連の機能の多くのカテゴリを提供します。
- クラスは
CoreWebView2Environment
、同じ WebView2 ブラウザー プロセス、ユーザー データ フォルダー、レンダラーを共有する WebView2 コントロールのグループを表します。 このCoreWebView2Environment
クラスから、 と インスタンスのCoreWebView2Controller
ペアをCoreWebView2
作成します。 - クラスは
CoreWebView2Controller
、ウィンドウ フォーカス、可視性、サイズ、入力などのホスティング関連の機能を担当します。ここで、アプリは WebView2 コントロールをホストします。 - クラスは
CoreWebView2
、ネットワーク、ナビゲーション、スクリプト、HTML の解析とレンダリングなど、WebView2 コントロールの Web 固有の部分用です。
クロスプラットフォーム API の実装: ほとんどの WebView2 API は、最初は C++ 用に開発され、その後、ほとんどの C++ API は C# API としてラップされます。 これにより、プラットフォームとプログラミング言語間で一貫した並列処理と等価性が得られます。
最上位クラスの概要
の概要:
CoreWebView2Environment
CoreWebView2
-
CoreWebView2Controller
vs.WebView2
クラス (WPF、WinForms、WinUIWebView2
クラスなどの UI フレームワーク固有の WebView2 要素クラス)。
または、同等に:
ICoreWebView2Environment
ICoreWebView2
ICoreWebView2Controller
CoreWebView2Environment
は、すべてのユーザーが以下を共有する WebView2 コントロールのグループを表します。
- 同じ WebView2 ブラウザー プロセスを共有します。
- 同じユーザー データ フォルダーを共有します。
- WebView2 レンダラーやその他の WebView2 プロセスを共有する可能性があります。
から、CoreWebView2Environment
作成とCoreWebView2
ペアを作成CoreWebView2Controller
します。 それらは常に と 対応する CoreWebView2
としてCoreWebView2Controller
一緒に来ます。
- は
CoreWebView2Controller
、フォーカス、可視性、サイズ、入力など、ホスティング関連のすべての機能を担当します。 -
CoreWebView2
は、ネットワーク、ナビゲーション、スクリプト、HTML の解析とレンダリングなど、WebView2 コントロールの Web 固有の部分用です。
WPF、WinForms、WinUI WebView2 クラスなどの UI フレームワーク固有の WebView2 要素クラス
WPF、WinForms、WinUI WebView2 クラスなどの UI フレームワーク固有の WebView2 要素クラスを使用している場合は異なります。
その後、WebView2 クラスは必要に応じて を CoreWebView2Environment
使用し、それ以外の場合は既定の を作成します CoreWebView2Environment
。 内部的には、WebView2 クラスによって、 から と CoreWebView2Controller
CoreWebView2
が作成されます CoreWebView2Environment
。 はWebView2
、 をCoreWebView2
CoreWebView2
プロパティとして公開しますがCoreWebView2Controller
、 は クラスに対してプライベートにWebView2
保持されます。 これは、クラスが WebView2
すべての機能を UI フレームワークに接続する役割を CoreWebView2Controller
担うためです。