Share via


WebView-Ausführungsmodus unter Windows

Diese plattformspezifische Legt den Thread fest, auf dem ein WebView Inhalt gehostet wird. Sie wird in XAML genutzt, indem sie die bindungsfähige Eigenschaft WebView.ExecutionMode auf einen WebViewExecutionMode-Enumerationswert festlegt:

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

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

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

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

Die WebView.On<Windows> Methode gibt an, dass diese plattformspezifische Nur auf dem Universelle Windows-Plattform ausgeführt wird. Die WebView.SetExecutionMode Methode im Xamarin.Forms.PlatformConfiguration.WindowsSpecific Namespace wird verwendet, um den Thread festzulegen, in dem ein WebView Inhalt gehostet wird, wobei die WebViewExecutionMode Enumeration drei mögliche Werte bereitstellt:

  • SameThread gibt an, dass Inhalte im UI-Thread gehostet werden. Dies ist der Standardwert für windows WebView .
  • SeparateThread gibt an, dass Inhalte in einem Hintergrundthread gehostet werden.
  • SeparateProcess gibt an, dass Inhalte in einem separaten Prozess außerhalb des App-Prozesses gehostet werden. Es gibt keinen separaten Prozess pro WebView-Instanz, und daher verwenden alle WebView-Instanzen einer App denselben separaten Prozess.

Darüber hinaus kann die GetExecutionMode Methode verwendet werden, um den Aktuellen WebViewExecutionMode für die WebView.