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 oWebView
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
.