Udostępnij za pośrednictwem


Tryb wykonywania elementu WebView w systemie Windows

Ten specyficzny dla platformy ustawia wątek, na którym WebView znajduje się jego zawartość. Jest on używany w języku XAML przez ustawienie właściwości możliwej WebView.ExecutionMode do powiązania z wartością WebViewExecutionMode wyliczenia:

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

Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:

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

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

Metoda WebView.On<Windows> określa, że ta platforma będzie działać tylko na platforma uniwersalna systemu Windows. Metoda WebView.SetExecutionMode w Xamarin.Forms.PlatformConfiguration.WindowsSpecific przestrzeni nazw służy do ustawiania wątku, na którym WebView znajduje się jego zawartość, z WebViewExecutionMode wyliczeniem zawierającym trzy możliwe wartości:

  • SameThread wskazuje, że zawartość jest hostowana w wątku interfejsu użytkownika. Jest to wartość domyślna dla elementu WebView w systemie Windows.
  • SeparateThread wskazuje, że zawartość jest hostowana w wątku w tle.
  • SeparateProcess wskazuje, że zawartość jest hostowana w osobnym procesie poza procesem aplikacji. Nie ma oddzielnego procesu dla wystąpienia elementu WebView, dlatego wszystkie wystąpienia elementu WebView aplikacji współużytkuje ten sam oddzielny proces.

Ponadto GetExecutionMode metoda może służyć do zwracania prądu WebViewExecutionMode dla elementu WebView.