Classes principais para WebView2: Ambiente, Controle e Núcleo

As CoreWebView2Environmentclasses , CoreWebView2Controller, e CoreWebView2 (ou interfaces equivalentes) trabalham juntas para que seu aplicativo possa hospedar um controle do navegador WebView2 e acessar seus recursos do navegador. Essas três classes grandes expõem uma ampla variedade de APIs que seu aplicativo host pode acessar para fornecer muitas categorias de recursos relacionados ao navegador para seus usuários.

  • A CoreWebView2Environment classe representa um grupo de controles WebView2 que compartilham o mesmo processo do navegador, pasta de dados do usuário e renderizador WebView2. A partir dessa CoreWebView2Environment classe, você cria pares de CoreWebView2Controller e CoreWebView2 instâncias.

  • A CoreWebView2Controller classe é responsável pela funcionalidade relacionada à hospedagem, como foco de janela, visibilidade, tamanho e entrada, em que seu aplicativo hospeda o controle WebView2.

  • A CoreWebView2 classe é para as partes específicas da Web do controle WebView2, incluindo rede, navegação, script e análise e renderização de HTML.

Implementação de API multiplataforma

A maioria das APIs do WebView2 é desenvolvida inicialmente para C++ e, em seguida, a maioria das APIs do C++ são encapsuladas como APIs do C#. Dessa forma, há um paralelismo e equivalência consistentes entre plataformas e linguagens de programação.

Visão geral das classes de nível superior

Visão geral de:

  • CoreWebView2Environment
  • CoreWebView2
  • CoreWebView2Controller vs. WebView2 classes (classe de elemento WebView2 específica da estrutura da interface do usuário, como as classes WPF, WinForms ou WinUI WebView2 ).

ou, equivalentemente:

  • ICoreWebView2Environment
  • ICoreWebView2
  • ICoreWebView2Controller

CoreWebView2Environment representa um grupo de controles WebView2 que compartilham o seguinte:

  • Eles compartilham o mesmo processo do navegador WebView2.
  • Eles compartilham a mesma pasta de dados do usuário.
  • Eles potencialmente compartilham o renderizador WebView2 e outros processos do WebView2.

A partir do CoreWebView2Environment, você cria CoreWebView2Controller e CoreWebView2 emparelha. Eles sempre se juntam como um CoreWebView2Controller e um correspondente CoreWebView2.

  • O CoreWebView2Controller é responsável por todas as funcionalidades relacionadas à hospedagem, como foco, visibilidade, tamanho e entrada.
  • O CoreWebView2 é para as partes específicas da Web do controle WebView2, incluindo rede, navegação, script e análise e renderização de HTML.

Classe de elemento WebView2 específica da estrutura de interface do usuário, como WPF, WinForms ou WinUI Classes WebView2

É diferente se você estiver usando uma classe de elemento WebView2 específica da estrutura da interface do usuário, como as classes WPF, WinForms ou WinUI WebView2.

Em seguida, a classe WebView2 pode, opcionalmente, usar um CoreWebView2Environment to; caso contrário, ela cria um padrão CoreWebView2Environment. Internamente, a classe WebView2 cria seu CoreWebView2Controller e CoreWebView2 a partir do CoreWebView2Environment.

A WebView2 exposição é CoreWebView2 como uma CoreWebView2 propriedade, mas é CoreWebView2Controller mantida privada para a WebView2 classe. Isso ocorre porque a WebView2 classe é responsável por conectar todas as CoreWebView2Controller funcionalidades à estrutura da interface do usuário.