Modo de ejecución de WebView en Windows
Esta función específica de la plataforma establece el subproceso en el que un WebView
aloja su contenido. Se consume en XAML estableciendo la propiedad enlazable WebView.ExecutionMode
en un valor de enumeración WebViewExecutionMode
:
<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 método WebView.On<Windows>
especifica que esta característica específica de la plataforma solo se ejecutará en la Plataforma universal de Windows. El método WebView.SetExecutionMode
, en el espacio de nombres Xamarin.Forms.PlatformConfiguration.WindowsSpecific
, se usa para establecer la configuración en la que un WebView
hospeda su contenido, con la enumeración WebViewExecutionMode
que proporciona tres valores posibles:
SameThread
indica que el contenido se hospeda en el subproceso de la interfaz de usuario. Este es el valor predeterminado paraWebView
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 método GetExecutionMode
se puede usar para devolver el WebViewExecutionMode
actual para la WebView
.