다음을 통해 공유


Windows의 WebView 실행 모드

이 플랫폼별은 콘텐츠를 호스트하는 WebView 스레드를 설정합니다. 바인딩 가능한 속성을 열거형 값으로 설정 WebView.ExecutionMode 하여 XAML에서 WebViewExecutionMode 사용합니다.

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

또는 흐름 API를 사용하여 C#에서 사용할 수 있습니다.

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

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

이 메서드는 WebView.On<Windows> 이 플랫폼별이 유니버설 Windows 플랫폼만 실행되도록 지정합니다. WebView.SetExecutionMode 네임스페이스의 Xamarin.Forms.PlatformConfiguration.WindowsSpecific 메서드는 다음 세 가지 가능한 값을 제공하는 열거형을 WebViewExecutionMode 사용하여 콘텐츠를 호스트하는 스레드 WebView 를 설정하는 데 사용됩니다.

  • SameThread 는 콘텐츠가 UI 스레드에서 호스트된다는 것을 나타냅니다. 이는 Windows의 기본값 WebView 입니다.
  • SeparateThread 는 콘텐츠가 백그라운드 스레드에서 호스트된다는 것을 나타냅니다.
  • SeparateProcess 는 콘텐츠가 앱 프로세스의 별도 프로세스에서 호스트된다는 것을 나타냅니다. WebView 인스턴스당 별도의 프로세스가 없으므로 앱의 모든 WebView 인스턴스는 동일한 별도의 프로세스를 공유합니다.

또한 메서드를 GetExecutionMode 사용하여 .에 대한 WebView현재 WebViewExecutionMode 값을 반환할 수 있습니다.