Modo de ejecución de WebView en Windows

Descargar ejemploDescargar el ejemplo

Este específico de la plataforma establece el subproceso en el que un WebView hospeda su contenido. Se consume en XAML estableciendo la WebView.ExecutionMode propiedad enlazable en un WebViewExecutionMode valor de enumeración:

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

Como alternativa, se puede consumir desde C# mediante la API fluida:

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

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

El WebView.On<Windows> método especifica que esta plataforma específica solo se ejecutará en el Plataforma universal de Windows. El WebView.SetExecutionMode método , en el Xamarin.Forms.PlatformConfiguration.WindowsSpecific espacio de nombres , se usa para establecer el subproceso en el que un WebView hospeda su contenido, con la WebViewExecutionMode enumeración que proporciona tres valores posibles:

  • SameThread indica que el contenido está hospedado en el subproceso de la interfaz de usuario. Este es el valor predeterminado para WebView en Windows.
  • SeparateThread indica que el contenido se hospeda en un subproceso en segundo plano.
  • SeparateProcess indica que el contenido se hospeda en un proceso independiente fuera del proceso de la aplicación. No hay un proceso independiente por instancia de WebView, por lo que todas las instancias de WebView de una aplicación comparten el mismo proceso independiente.

Además, el GetExecutionMode método se puede usar para devolver el objeto actual WebViewExecutionMode para .WebView