Share via


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

As CoreWebView2Environmentclasses , CoreWebView2Controllere CoreWebView2 (ou interfaces equivalentes) funcionam 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 gama 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 WebView2, a pasta de dados do usuário e o renderizador. Nesta CoreWebView2Environment classe, você cria pares de CoreWebView2Controller instâncias e CoreWebView2 .
  • 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 html.

Implementação de API entre plataformas: a maioria das APIs do WebView2 são inicialmente desenvolvidas para C++e, em seguida, a maioria das APIs C++ são encapsuladas como APIs 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 todos compartilham o seguinte:

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

CoreWebView2EnvironmentNo , você cria CoreWebView2Controller e CoreWebView2 emparelha. Eles sempre se reúnem 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 html.

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

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

Em seguida, a classe WebView2 pode opcionalmente usar um CoreWebView2Environment para usar e, caso contrário, criará um padrão CoreWebView2Environment. Internamente, a classe WebView2 cria seu CoreWebView2Controller e CoreWebView2 do CoreWebView2Environment. O WebView2 expõe como CoreWebView2 uma CoreWebView2 propriedade, mas o CoreWebView2Controller é mantido privado para a WebView2 classe. Isso ocorre porque a WebView2 classe é responsável por conectar toda a CoreWebView2Controller funcionalidade à estrutura da interface do usuário.