WebView-Ausführungsmodus unter Windows
Dieser plattformspezifische Thread legt den Thread fest, in dem ein WebView
Inhalt hostet. Es wird in XAML verwendet, indem die WebView.ExecutionMode
bindbare Eigenschaft auf einen WebViewExecutionMode
Enumerationswert festgelegt wird:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<WebView ... windows:WebView.ExecutionMode="SeparateThread" />
...
</StackLayout>
</ContentPage>
Alternativ kann sie über C# mit der Fluent-API 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, für den 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 windowsWebView
.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-instance, sodass alle WebView-Instanzen einer App denselben separaten Prozess verwenden.
Darüber hinaus kann die GetExecutionMode
-Methode verwendet werden, um den aktuellen WebViewExecutionMode
für WebView
zurückzugeben.