Compartilhar via


Modo de execução do WebView no Windows

Esse específico da plataforma define o thread no qual um WebView hospeda seu conteúdo. Ele é consumido em XAML definindo a WebView.ExecutionMode propriedade bindable 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 um 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 fora do processo do aplicativo. Não há um processo separado por instância WebView e, portanto, todas as instâncias 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.