Compartilhar via


Modo de execução do WebView no Windows

Esse específico da plataforma define o thread no qual a hospeda WebView seu conteúdo. Ele é consumido em XAML definindo a WebView.ExecutionMode propriedade associável como um WebViewExecutionMode valor de enumeração:

<ContentPage ...
             xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        <WebView ... windows:WebView.ExecutionMode="SeparateThread" />
        ...
    </StackLayout>
</ContentPage>

Como alternativa, ele pode ser consumido do C# usando a API fluente:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...

WebView webView = new Xamarin.Forms.WebView();
webView.On<Windows>().SetExecutionMode(WebViewExecutionMode.SeparateThread);

O WebView.On<Windows> método especifica que esse específico da plataforma só será executado na Plataforma Universal do Windows. O WebView.SetExecutionMode método, no Xamarin.Forms.PlatformConfiguration.WindowsSpecific namespace, é usado para definir o thread no qual a WebView hospeda seu conteúdo, com a WebViewExecutionMode enumeração fornecendo três valores possíveis:

  • SameThread indica que o conteúdo está hospedado no thread da interface do usuário. Esse é o valor padrão para o WebView no Windows.
  • SeparateThread indica que o conteúdo está hospedado em um thread em segundo plano.
  • SeparateProcess indica que o conteúdo está hospedado em um processo separado do processo do aplicativo. Não há um processo separado por instância do WebView e, portanto, todas as instâncias do WebView de um aplicativo compartilham o mesmo processo separado.

Além disso, o GetExecutionMode método pode ser usado para retornar a corrente WebViewExecutionMode para o WebView.