Modalità di esecuzione di WebView in Windows

Download Sample Scaricare l'esempio

Questo specifico della piattaforma imposta il thread in cui un WebView oggetto ospita il relativo contenuto. Viene utilizzata in XAML impostando la WebView.ExecutionMode proprietà associabile su un WebViewExecutionMode valore di enumerazione:

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

In alternativa, può essere usato da C# usando l'API Fluent:

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

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

Il WebView.On<Windows> metodo specifica che questa piattaforma verrà eseguita solo nel piattaforma UWP (Universal Windows Platform). Il WebView.SetExecutionMode metodo, nello spazio dei Xamarin.Forms.PlatformConfiguration.WindowsSpecific nomi , viene usato per impostare il thread in cui un WebView host ospita il relativo contenuto, con l'enumerazione WebViewExecutionMode che fornisce tre valori possibili:

  • SameThread indica che il contenuto è ospitato nel thread dell'interfaccia utente. Questo è il valore predefinito per in WebView Windows.
  • SeparateThread indica che il contenuto è ospitato in un thread in background.
  • SeparateProcess indica che il contenuto è ospitato in un processo separato dal processo dell'app. Non esiste un processo separato per ogni istanza di WebView e quindi tutte le istanze WebView di un'app condividono lo stesso processo separato.

Inoltre, il GetExecutionMode metodo può essere usato per restituire l'oggetto corrente WebViewExecutionMode per .WebView