WebView 클래스

정의

앱에서 HTML 콘텐츠를 호스트하는 컨트롤을 제공합니다.

public ref class WebView sealed : FrameworkElement
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Controls.IWebViewFactory4, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WebView final : FrameworkElement
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Controls.IWebViewFactory4, 65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class WebView final : FrameworkElement
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Controls.IWebViewFactory4), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WebView : FrameworkElement
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Controls.IWebViewFactory4), 65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WebView : FrameworkElement
Public NotInheritable Class WebView
Inherits FrameworkElement
<WebView .../>
상속
Object Platform::Object IInspectable DependencyObject UIElement FrameworkElement WebView
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

자세한 정보, 디자인 지침 및 코드 예제는 웹 보기를 참조하세요.

WinUI 2 갤러리 앱이 설치된 경우 여기를 클릭하여 앱을 열고 작동 중인 WebView를 확인합니다.

다음 코드 예제에서는 라는 TextBoxAddress에 포함된 URI로 WebView를 탐색하는 방법을 보여 줍니다.

try
{
    Uri targetUri = new Uri(Address.Text);
    webViewA.Navigate(targetUri);
}
catch (FormatException ex)
{
    // Bad address.
}

다음 코드 예제에서는 WebView 컨트롤에 로컬 HTML을 로드하는 방법을 보여 줍니다.

webViewB.NavigateToString(
    "<html><body><h2>This is an HTML fragment</h2></body></html>");

설명

WebView 컨트롤을 사용하여 앱에서 웹 콘텐츠를 호스트합니다. Surface Hub 또는 Xbox용 앱은 이 WebView를 사용해야 합니다.

중요

데스크톱 앱의 경우 UWP용 Windows UI 라이브러리 2(WinUI 2)의 일부로 사용할 수 있는 WebView2 컨트롤을 사용하는 것이 좋습니다. WebView2는 Microsoft Edge(Chromium)를 렌더링 엔진으로 사용하여 앱에 웹 콘텐츠를 표시합니다. 자세한 내용은 Microsoft Edge WebView2 소개, UWP(WinUI 2) 앱에서 WebView2 시작 및 WinUI API 참조의 WebView2 를 참조하세요.

중요

XAML Islands: 이 컨트롤은 XAML Islands 앱에서 지원되지 않습니다. 대안은 XAML Islands - 웹 보기 컨트롤을 참조하세요.

WebView는 컨트롤 하위 클래스가 아니므로 컨트롤 템플릿이 없습니다. 다양한 속성을 설정하여 WebView의 일부 시각적 측면을 제어할 수 있습니다. 표시 영역은 WidthHeight 속성으로 제한됩니다. WebView를 변환, 크기 조정, 기울이기 및 회전하려면 RenderTransform 속성을 사용합니다. WebView의 불투명도를 제어하려면 Opacity 속성을 설정합니다. HTML 콘텐츠에서 색을 지정하지 않는 경우 웹 페이지 배경으로 사용할 색을 지정하려면 DefaultBackgroundColor 속성을 설정합니다.

DocumentTitle 속성을 사용하여 WebView에 현재 표시된 HTML 문서의 제목을 가져올 수 있습니다.

WebView는 Control 하위 클래스가 아니지만 키보드 입력 포커스를 받고 탭 시퀀스에 참여합니다. Focus 메서드와 GotFocusLostFocus 이벤트를 제공하지만 탭 관련 속성은 없습니다. 탭 순서상 해당 위치는 XAML 문서 순서상 위치와 같습니다. 탭 시퀀스에는 입력 포커스를 받을 수 있는 WebView 콘텐츠의 모든 요소가 포함됩니다.

이벤트 테이블에 표시된 것처럼 WebView는 KeyDown, KeyUpPointerPressed와 같은 UIElement에서 상속된 대부분의 사용자 입력 이벤트를 지원하지 않습니다. 일반적인 해결 방법은 JavaScript eval 함수와 함께 InvokeScriptAsync를 사용하여 HTML 이벤트 처리기를 사용하고 HTML 이벤트 처리기의 window.external.notify를 사용하여 WebView.ScriptNotify를 사용하여 애플리케이션에 알리는 것입니다.

Windows 10 위해 컴파일된 앱에서 WebView는 Microsoft Edge 렌더링 엔진을 사용하여 HTML 콘텐츠를 표시합니다. Windows 8 또는 Windows 8.1 위해 컴파일된 앱에서 WebView는 문서 모드에서 인터넷 Explorer 11을 사용합니다. Microsoft Silverlight 또는 PDF(이식 가능한 문서 형식) 파일과 같은 Microsoft ActiveX 컨트롤 또는 플러그 인은 지원하지 않습니다.

WebView는 기본 탐색을 위한 몇 가지 API를 제공합니다. GoBack, GoForward, 중지, 새로 고침, CanGoBackCanGoForward. 이러한 기능을 사용하여 일반적인 웹 검색 기능을 앱에 추가할 수 있습니다.

WebView의 초기 콘텐츠를 설정하려면 XAML에서 Source 속성을 설정합니다. XAML 파서는 문자열을 Uri로 자동으로 변환합니다.

<!-- Source file is on the web. -->
<WebView x:Name="webViewA" Source="http://www.contoso.com"/>

<!-- Source file is in local storage. -->
<WebView x:Name="webViewB" Source="ms-appdata:///local/intro/welcome.html"/>

<!-- Source file is in the app package. -->
<WebView x:Name="webViewC" Source="ms-appx-web:///help/about.html"/>

Source 속성은 코드에서 설정할 수 있지만 이렇게 하는 대신 일반적으로 Navigate 메서드 중 하나를 사용하여 코드에서 콘텐츠를 로드합니다.

웹 콘텐츠를 로드하려면 http 또는 https 체계를 사용하는 Uri와 함께 Navigate 메서드 사용합니다.

webViewA.Navigate(new Uri("http://www.contoso.com"));

POST 요청 및 HTTP 헤더가 있는 URI(Uniform Resource Identifier)로 이동하려면 NavigateWithHttpRequestMessage 메서드를 사용합니다. 이 메서드는 HttpRequestMessage.Method 속성 값에 대해 HttpMethod.PostHttpMethod.Get만 지원합니다.

앱의 LocalFolder 또는 TemporaryFolder 데이터 저장소에서 압축 및 암호화되지 않은 콘텐츠를 로드하려면 ms-appdata 체계를 사용하는 URI와 함께 Navigate 메서드를 사용합니다. 이 체계에 대한 WebView 지원을 사용하려면 로컬 또는 임시 폴더 아래의 하위 폴더에 콘텐츠를 배치해야 합니다. 이렇게 하면 ms-appdata:///local/ folder 파일.html 및 ms-appdata:///temp/ folder/파일.html 같은 URI(Uniform Resource Identifier/)로 탐색할수 있습니다. (압축 또는 암호화된 파일을 로드하려면 NavigateToLocalStreamUri를 참조하세요.)

이러한 각 첫 번째 수준 하위 폴더는 다른 첫 번째 수준 하위 폴더의 콘텐츠와 분리됩니다. 예를 들어 ms-appdata:///temp/folder1/file.html로 이동할 수 있지만, 이 파일에서 ms-appdata:///temp/folder2/file.html에 대한 링크를 사용할 수는 없습니다. 그러나 ms-appx-web 스키마를 사용하여 앱 패키지의 HTML 콘텐츠와 http 및 https URI(Uniform Resource Identifier) 체계를 사용하여 웹 콘텐츠에 연결할 수 있습니다.

webViewA.Navigate(new Uri("ms-appdata:///local/intro/welcome.html"));

앱 패키지에서 콘텐츠를 로드하려면 ms-appx-web scheme을 사용하는 Uri와 함께 Navigate 메서드를 사용합니다.

webViewA.Navigate(new Uri("ms-appx-web:///help/about.html"));

NavigateToLocalStreamUri 메서드를 사용하여 사용자 지정 확인자를 통해 로컬 콘텐츠를 로드할 수 있습니다. 이 기능을 통해 웹 기반 콘텐츠를 오프라인에서 사용하기 위해 다운로드 및 캐싱, 압축 파일에서 콘텐츠 추출 등의 고급 시나리오를 사용할 수 있습니다.

탐색 이벤트에 응답

WebView는 탐색 및 콘텐츠 로드 상태에 응답하는 데 사용할 수 있는 여러 이벤트를 제공합니다. 이벤트는 루트 WebView 콘텐츠에 대해 다음 순서로 발생합니다.

webViewA.NavigationStarting += webViewA_NavigationStarting;

private void webViewA_NavigationStarting(object sender, WebViewNavigationStartingEventArgs args)
{
    // Cancel navigation if URL is not allowed. (Implemetation of IsAllowedUri not shown.)
    if (!IsAllowedUri(args.Uri))
        args.Cancel = true;
}
  • ContentLoading - WebView에서 새 콘텐츠 로드를 시작할 때 발생합니다.
webViewA.ContentLoading += webViewA_ContentLoading;

private void webViewA_ContentLoading(WebView sender, WebViewContentLoadingEventArgs args)
{
    // Show status.
    if (args.Uri != null)
    {
        statusTextBlock.Text = "Loading content for " + args.Uri.ToString();
    }
}
  • DOMContentLoaded - WebView가 현재 HTML 콘텐츠 구문 분석을 완료했을 때 발생합니다.
webViewA.DOMContentLoaded += webViewA_DOMContentLoaded;

private void webViewA_DOMContentLoaded(WebView sender, WebViewDOMContentLoadedEventArgs args)
{
    // Show status.
    if (args.Uri != null)
    {
        statusTextBlock.Text = "Content for " + args.Uri.ToString() + " has finished loading";
    }
}
webViewA.NavigationCompleted += webViewA_NavigationCompleted;

private void webViewA_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
{
    if (args.IsSuccess == true)
    {
        statusTextBlock.Text = "Navigation to " + args.Uri.ToString() + " completed successfully.";
    }
    else
    {
        statusTextBlock.Text = "Navigation to: " + args.Uri.ToString() +
                               " failed with error " + args.WebErrorStatus.ToString();
    }
}

WebView 콘텐츠의 각 iframe 에 대해 비슷한 이벤트가 동일한 순서로 발생합니다.

  • FrameNavigationStarting - WebView의 프레임이 새 콘텐츠로 이동하기 전에 발생합니다.
  • FrameContentLoading - WebView의 프레임이 새 콘텐츠를 로드하기 시작했을 때 발생합니다.
  • FrameDOMContentLoaded - WebView의 프레임이 현재 HTML 콘텐츠 구문 분석을 완료했을 때 발생합니다.
  • FrameNavigationCompleted - WebView의 프레임이 콘텐츠 로드를 완료했을 때 발생합니다.

잠재적 문제에 응답

장기 실행 스크립트, WebView에서 로드할 수 없는 콘텐츠 및 안전하지 않은 콘텐츠 경고와 같은 콘텐츠의 잠재적인 문제에 대응할 수 있습니다.

스크립트를 실행하는 동안 앱이 응답하지 않는 것처럼 보일 수도 있습니다. LongRunningScriptDetected 이벤트는 WebView가 JavaScript를 실행하고 스크립트를 중단할 기회를 제공하는 동안 주기적으로 발생합니다. 스크립트가 실행된 기간을 확인하려면 WebViewLongRunningScriptDetectedEventArgsExecutionTime 속성을 확인합니다. 스크립트를 중지하려면 이벤트 인수 StopPageScriptExecution 속성을 true로 설정합니다. 중지된 스크립트는 후속 WebView 탐색 중에 다시 로드되지 않는 한 다시 실행되지 않습니다.

WebView 컨트롤은 임의의 파일 형식을 호스트할 수 없습니다. WebView에서 호스트할 수 없는 콘텐츠를 로드하려고 하면 UnviewableContentIdentified 이벤트가 발생합니다. 이 이벤트를 처리하고 사용자에게 알리거나, Launcher 클래스를 사용하여 파일을 외부 브라우저 또는 다른 앱으로 리디렉션할 수 있습니다.

마찬가지로 지원되지 않는 URI(Uniform Resource Identifier) 체계가 웹 콘텐츠(예: fbconnect:// 또는 mailto://)에서 호출될 때 UnsupportedUriSchemeIdentified 이벤트가 발생합니다. 기본 시스템 시작 관리자가 URI(Uniform Resource Identifier)를 시작하도록 허용하는 대신 이 이벤트를 처리하여 사용자 지정 동작을 제공할 수 있습니다.

UnsafeContentWarningDisplaying 이벤트는 WebView에 SmartScreen 필터에 의해 안전하지 않은 것으로 보고된 콘텐츠에 대한 경고 페이지를 표시할 때 발생합니다. 사용자가 계속 탐색하도록 선택할 경우 이후에 페이지로 이동할 때는 경고가 표시되지 않으며 이벤트도 발생하지 않습니다.

WebView 콘텐츠에 대한 특수 사례 처리

ContainsFullScreenElement 속성 및 ContainsFullScreenElementChanged 이벤트를 사용하여 웹 콘텐츠에서 전체 화면 비디오 재생과 같은 전체 화면 환경을 검색, 응답 및 사용하도록 설정할 수 있습니다. 예를 들어 ContainsFullScreenElementChanged 이벤트를 사용하여 WebView의 크기를 조정하여 앱 보기 전체를 차지하거나, 다음 예제와 같이 전체 화면 웹 환경이 필요한 경우 창이 있는 앱을 전체 화면 모드로 전환할 수 있습니다.

// Assume webView is defined in XAML
webView.ContainsFullScreenElementChanged += webView_ContainsFullScreenElementChanged;

private void webView_ContainsFullScreenElementChanged(WebView sender, object args)
{
    var applicationView = ApplicationView.GetForCurrentView();

    if (sender.ContainsFullScreenElement)
    {
        applicationView.TryEnterFullScreenMode();
    }
    else if (applicationView.IsFullScreenMode)
    {
        applicationView.ExitFullScreenMode();
    }
}

NewWindowRequested 이벤트를 사용하여 호스트된 웹 콘텐츠가 팝업 창과 같은 새 창을 표시하도록 요청하는 경우를 처리할 수 있습니다. 다른 WebView 컨트롤을 사용하여 요청된 창의 내용을 표시할 수 있습니다.

특수 기능이 필요한 웹 기능을 사용하도록 설정하려면 PermissionRequested 이벤트를 사용합니다. 현재 이러한 기능에는 지리적 위치, IndexedDB 스토리지, 사용자 오디오 및 동영상(예: 마이크 또는 webcam에서 제공)이 포함됩니다. 앱이 사용자 위치나 사용자 미디어에 액세스하는 경우에도 앱 매니페스트에서 이 기능을 선언해야 합니다. 예를 들어 지리적 위치를 사용하는 앱은 Package.appxmanifest에 최소한 다음과 같은 기능 선언이 있어야 합니다.

<Capabilities>
  <Capability Name="internetClient"/>
  <DeviceCapability Name="location"/>
</Capabilities>

앱에서 PermissionRequested 이벤트를 처리하는 것 외에도 사용자는 이러한 기능을 사용할 수 있도록 위치 또는 미디어 기능을 요청하는 앱에 대해 표준 시스템 대화 상자를 승인해야 합니다.

다음은 앱이 Bing의 맵에서 지리적 위치를 사용하도록 설정하는 방법의 예입니다.

// Assume webView is defined in XAML
webView.PermissionRequested += webView_PermissionRequested;

private void webView_PermissionRequested(WebView sender, WebViewPermissionRequestedEventArgs args)
{
    if (args.PermissionRequest.PermissionType == WebViewPermissionType.Geolocation &&
        args.PermissionRequest.Uri.Host == "www.bing.com")
    {
        args.PermissionRequest.Allow();
    }
}

앱이 사용 권한 요청에 응답하기 위해 사용자 입력이나 다른 비동기 작업이 필요한 경우 WebViewPermissionRequestDefer 메서드를 사용하여 나중에 작업할 수 있는 WebViewDeferredPermissionRequest를 만듭니다. WebViewPermissionRequest.Defer를 참조하세요.

사용자가 WebView에 호스트된 웹 사이트에서 안전하게 로그아웃해야 하거나 보안이 중요한 다른 경우에는 정적 메서드 ClearTemporaryWebDataAsync 를 호출하여 WebView 세션에서 로컬로 캐시된 모든 콘텐츠를 지웁니다. 이렇게 하면 악의적인 사용자가 중요한 데이터에 액세스할 수 없습니다.

WebView 콘텐츠와 상호 작용

InvokeScriptAsync 메서드를 사용하여 WebView 콘텐츠에 스크립트를 호출하거나 삽입하고 ScriptNotify 이벤트를 사용하여 WebView 콘텐츠에서 정보를 다시 가져와 WebView의 콘텐츠와 상호 작용할 수 있습니다.

WebView 콘텐츠 내에서 JavaScript를 호출하려면 InvokeScriptAsync 메서드를 사용합니다. 호출된 스크립트는 문자열 값만 반환할 수 있습니다.

예를 들어 라는 webViewA WebView의 콘텐츠에 3개의 매개 변수를 사용하는 라는 setDate 함수가 포함된 경우 다음과 같이 호출할 수 있습니다.

string[] args = {"January", "1", "2000"};
string returnValue = await webViewA.InvokeScriptAsync("setDate", args);

JavaScript eval 함수와 함께 InvokeScriptAsync를 사용하여 웹 페이지에 콘텐츠를 삽입할 수 있습니다.

여기서 XAML TextBox (nameTextBox.Text)의 텍스트는 에서 호스트되는 HTML 페이지의 div에 webViewA기록됩니다.

private async void Button_Click(object sender, RoutedEventArgs e)
{
    string functionString = String.Format("document.getElementById('nameDiv').innerText = 'Hello, {0}';", nameTextBox.Text);
    await webViewA.InvokeScriptAsync("eval", new string[] { functionString });
}

WebView 콘텐츠의 스크립트는 window.external.notify 를 문자열 매개 변수와 함께 사용하여 정보를 앱으로 다시 보낼 수 있습니다. 이러한 메시지를 받으려면 ScriptNotify 이벤트를 처리합니다.

window.external.notify를 호출할 때 외부 웹 페이지에서 ScriptNotify 이벤트를 발생시킬 수 있도록 하려면 앱 매니페스트의 ApplicationContentUriRules 섹션에 페이지의 URI(Uniform Resource Identifier)를 포함해야 합니다. (Package.appxmanifest 디자이너의 콘텐츠 URI 탭에 있는 Microsoft Visual Studio에서 이 작업을 수행할 수 있습니다.) 이 목록의 URI는 HTTPS를 사용해야 하며 하위 도메인 와일드카드(예: https://.microsoft.com)를 포함할 수 있지만 도메인 와일드카드(예: https://.com 및 https://)를 포함할 수 없습니다. 매니페스트 요구 사항은 앱 패키지에서 시작되거나 ms-local-stream:// URI를 사용하거나 NavigateToString을 통해 로드되는 콘텐츠에 적용되지 않습니다.

WebView에서 Windows 런타임 액세스

Windows 10 AddWebAllowedObject 메서드를 사용하여 Windows 런타임 구성 요소의 네이티브 클래스 instance WebView의 JavaScript 컨텍스트에 삽입할 수 있습니다. 이렇게 하면 해당 WebView의 JavaScript 콘텐츠에서 해당 개체의 네이티브 메서드, 속성 및 이벤트에 대한 모든 권한이 허용됩니다. 클래스는 AllowForWeb 특성으로 데코레이트해야 합니다.

예를 들어 이 코드는 Windows 런타임 구성 요소에서 가져온 instance MyClass WebView에 삽입합니다.

private void webView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
    if (args.Uri.Host == "www.contoso.com")
    {
        webView.AddWebAllowedObject("nativeObject", new MyClass());
    }
}

자세한 내용은 WebView.AddWebAllowedObject를 참조하세요.

또한 WebView의 신뢰할 수 있는 JavaScript 콘텐츠는 Windows RuntimeAPI에 직접 액세스할 수 있습니다. WebView에서 호스트되는 웹앱에 대한 강력한 네이티브 기능을 제공합니다. 이 기능을 사용하도록 설정하려면 신뢰할 수 있는 콘텐츠에 대한 URI(Uniform Resource Identifier)를 Package.appxmanifest에 있는 앱의 ApplicationContentUriRules에 있는 허용 목록에 추가해야 하며 WindowsRuntimeAccess는 특별히 "all"로 설정되어야 합니다.

이 예제에서는 앱 매니페스트의 한 섹션을 보여 줍니다. 여기서는 로컬 URI(Uniform Resource Identifier)에 Windows 런타임 대한 액세스 권한이 부여됩니다.

<Applications>
  <Application Id="App"
    ...

    <uap:ApplicationContentUriRules>
      <uap:Rule Match="ms-appx-web:///Web/App.html" WindowsRuntimeAccess="all" Type="include"/>
    </uap:ApplicationContentUriRules>
  </Application>
</Applications>

웹 콘텐츠 호스팅 옵션

Windows 10 WebView.Settings 속성(WebViewSettings 형식)을 사용하여 JavaScript 및 IndexedDB를 사용할 수 있는지 여부를 제어할 수 있습니다. 예를 들어 WebView를 사용하여 엄격하게 정적 콘텐츠를 표시하는 경우 최상의 성능을 위해 JavaScript를 사용하지 않도록 설정할 수 있습니다.

WebView 콘텐츠 캡처

WebView 콘텐츠를 다른 앱과 공유할 수 있도록 하려면 선택한 콘텐츠를 DataPackage로 반환하는 CaptureSelectedContentToDataPackageAsync 메서드를 사용합니다. 이 메서드는 비동기식으로 작동하므로 지연을 사용하여 비동기 호출이 완료되기 전에 DataRequested 이벤트 처리기가 반환되지 않도록 해야 합니다.

WebView의 현재 콘텐츠에 대한 미리 보기 이미지를 얻으려면 CapturePreviewToStreamAsync 메서드를 사용합니다. 이 메서드는 현재 콘텐츠의 이미지를 만들고 지정된 스트림에 씁니다.

실행 모드

기본적으로 WebView 콘텐츠는 데스크톱 디바이스 패밀리의 디바이스에 있는 UI 스레드에서 호스트되고 다른 모든 디바이스의 UI 스레드에서 호스트됩니다. WebView.DefaultExecutionMode 정적 속성을 사용하여 현재 클라이언트의 기본 스레딩 동작을 쿼리할 수 있습니다. 필요한 경우 WebView(WebViewExecutionMode) 생성자를 사용하여 이 동작을 재정의할 수 있습니다.

지원되는 WebViewExecutionMode 값은 다음과 같습니다.

  • SameThread - WebView 콘텐츠가 UI 스레드에서 호스트됩니다.
  • SeparateThread - WebView 콘텐츠는 UI 스레드의 별도 스레드에서 호스트됩니다.
  • SeparateProcess - (Windows 10 버전 1803 이상) WebView 콘텐츠는 앱 프로세스의 별도 프로세스에서 호스트됩니다. 앱의 모든 WebView 인스턴스는 동일한 별도의 프로세스를 공유하며 WebView instance당 별도의 프로세스가 없습니다.

별도의 프로세스에서 실행하는 경우 WebView는 두 가지 동작 차이점을 설명합니다.

  • WebView 프로세스가 종료될 수 있습니다. SeparateProcessLost 이벤트를 수신 대기하여 이 알림을 받을 수 있습니다.
  • WebView 프로세스는 키보드 포커스를 비동기적으로 거부할 수 있습니다. 이 경우 WebView.Focus 메서드는 true를 반환한 다음 즉시(비동기적으로) 포커스가 WebView에서 멀리 이동합니다. 포커스를 이동하는 다른 방법(예: FocusManager.TryMoveFocus)도 비슷하게 작동합니다.) FocusManager.TryFocusAsync 또는 FocusManager.TryMoveFocusAsync API를 사용하여 더 명시적으로 추적할 수 있습니다.

이 예제에서는 호스트 앱과 별도의 프로세스에서 실행되고 별도의 프로세스가 손실될 경우 다시 만들어지는 WebView 컨트롤을 만드는 방법을 보여 줍니다.

<Grid>
    <Border x:Name="WebViewBorder" Loaded="WebViewBorder_Loaded" />
</Grid>
    ...

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();

        var webView = new WebView(WebViewExecutionMode.SeparateProcess);
        WebViewBorder.Child = webView;;

        InitializeWebView(webView);
    }

    void InitializeWebView(WebView webView)
    {
        webView.Source = this.WebViewSourceUri;

        webView.SeparateProcessLost += (sender, e) =>
        {
            var newWebView = new WebView(WebViewExecutionMode.SeparateProcess);
            InitializeWebView(newWebView);
            WebViewBorder.Child = newWebView;
        };
    }
}

참고

모바일 디바이스의 UI 스레드에서 콘텐츠를 호스팅할 때 성능 문제가 있을 수 있으므로 DefaultExecutionMode를 변경할 때 모든 대상 디바이스에서 테스트해야 합니다.

UI 스레드에서 콘텐츠를 호스트하는 WebView는 FlipView, ScrollViewer 및 기타 관련 컨트롤과 같이 WebView 컨트롤에서 부모로 전파하는 제스처가 필요한 부모 컨트롤과 호환되지 않습니다. 이러한 컨트롤은 오프 스레드 WebView에서 시작된 제스처를 수신할 수 없습니다. 또한 스레드 외부 웹 콘텐츠 인쇄는 직접 지원되지 않습니다. 대신 WebViewBrush 채우기를 사용하여 요소를 인쇄해야 합니다.

별도의 프로세스에서 WebView에 대한 포커스 동작

앱 프로세스에서 실행 중이든 별도의 프로세스에서 실행하든 WebView.Focus 메서드를 호출하여 WebView에 포커스를 설정할 수 있습니다. 이는 Control.Focus 및 Hyperlink.Focus 메서드와 동일합니다(WebView는 Control에서 파생되지 않음).

마찬가지로 FocusManager 클래스의 여러 메서드는 WebView(또는 Control 또는 Hyperlink)에 영향을 줄 수 있습니다. TryMoveFocus, FindNextFocusableElement, FindLastFocusableElementGetFocusedElement. 예를 들어 TryMoveFocus는 포커스를 WebView로 이동하고 GetFocusedElement는 포커스가 있는 WebView를 반환합니다.

마지막으로, WebView 간에 포커스를 이동하면 WebView 자체와 포커스를 잃거나 받는 요소 모두에서 포커스 이벤트가 발생합니다. 이벤트는 LosingFocus, LostFocus, GettingFocusGotFocus입니다. 예를 들어 포커스가 컨트롤에서 WebView로 이동하면 Control은 LosingFocus 및 LostFocus 이벤트를 발생시키고 WebView는 GettingFocus 및 GotFocus 이벤트를 발생합니다.

WebView가 별도의 프로세스에서 실행되는 경우 이러한 API의 동작이 약간 변경됩니다. WebView를 포커스할 수 있다고 가정하면 WebView.Focus 메서드는 true(성공)를 반환하지만 포커스는 아직 이동되지 않았습니다. WebView.Focus 메서드 대신 FocusManager.TryMoveFocus가 호출되고 WebView를 다음 포커스 가능 요소로 식별하는 경우에도 마찬가지입니다.

동작의 차이점은 다음과 같습니다.

  • FocusManager.GetFocusedElement는 비동기 작업이 완료될 때까지 WebView를 반환하지 않습니다.
  • 포커스가 손실되는 컨트롤은 해당 LosingFocus 이벤트를 동기적으로 받습니다. 그러나 비동기 작업이 완료될 때까지는 LostFocus를 받지 않습니다.
  • 마찬가지로 GettingFocus 이벤트는 WebView에서 동기적으로 발생합니다. 그러나 비동기 작업이 완료될 때까지 GotFocus 이벤트는 발생하지 않습니다.

FocusManager.TryFocusAsync를 대신 호출하는 경우 이 변경 내용이 변경되지 않습니다. 그러나 비동기 메서드를 사용하면 포커스 변경이 성공했는지 확인할 수 있습니다.

별도의 프로세스에서 WebView 이외의 요소에서 FocusManager.TryMoveFocusAsync를 호출하면 동기적으로 완료됩니다.

이 예제에서는 포커스를 다음 논리 요소로 이동하는 방법을 보여 주지만 실패하면 포커스를 초기 위치로 복원합니다.

async void MoveFocus(WebView webView))
{
    FocusMovementResult result;
    result = await FocusManager.TryFocusAsync(webView, FocusState.Programmatic);
    if (!result.Succeeded)
    {
        // Reset focus to the starting position
        this.Focus(FocusState.Programmatic);
    }
}

경고 사용

WebView에서 호스트되는 웹 페이지가 JavaScript 경고 함수를 사용하는 경우 표시되지 않습니다. 이는 모든 버전의 WebView용으로 설계되었습니다.

경고에 의해 표시되는 정보를 가로채 호스트 애플리케이션에서 원하는 작업을 수행할 수 있습니다. 이것이 가능한지 여부는 페이지가 작성되는 방식과 해당 페이지를 제어할 수 있는지 여부에 따라 달라집니다. 이 작업을 수행할 수 있는 한 가지 기술을 보여 주는 샘플을 사용할 수 있습니다. 샘플은 Windows 8.1 및 Windows Phone 8.1용으로 작성되었지만 UWP(유니버설 Windows 플랫폼)를 사용하는 앱에서도 작동합니다. 그러나 이는 모든 시나리오에서 작동하지 않을 수 있습니다.

유니버설 Windows 앱 샘플의 WebView에서 JavaScript 경고를 가로채는 방법

이전 버전에 대한 참고 사항

Windows 8.1

다음 WebView API는 Windows 8.1 더 이상 사용되지 않습니다.

Windows에서만 UnsafeContentWarningDisplaying 이벤트를 처리할 수 있습니다. 이 이벤트는 WebView가 SmartScreen 필터에 의해 안전하지 않은 것으로 보고된 콘텐츠에 대한 경고 페이지를 표시할 때 발생합니다. 사용자가 계속 탐색하도록 선택할 경우 이후에 페이지로 이동할 때는 경고가 표시되지 않으며 이벤트도 발생하지 않습니다. 이 이벤트는 Windows Phone 대해 구현되지 않습니다.

InvokeScriptAsync 메서드를 호출하여 WebView 내에서 JavaScript를 호출하는 경우 경고와 같은 보조 창이 필요한 함수는 지원되지 않습니다.

Windows Phone 8

UnsafeContentWarningDisplaying 이벤트는 Windows 10 전에 Windows Phone 대해 구현되지 않습니다.

Windows 8

이러한 설명은 Windows 8.1 이상에서 실행되는 경우에도 Windows 8용으로 컴파일된 앱에만 적용됩니다.

Windows 8에서 WebView에는 컨트롤과 같은 다른 UI 영역을 WebView 위에 렌더링할 수 없는 특성이 있습니다. 이 "영공 문제"는 창 영역이 내부적으로 처리되는 방법, 특히 입력 이벤트가 처리되는 방법과 화면이 그리는 방식 때문입니다. HTML 콘텐츠를 렌더링하고 다른 UI 요소를 해당 HTML 콘텐츠 위에 배치하려면 WebViewBrush 를 렌더링 영역으로 사용해야 합니다. WebView는 여전히 HTML 원본 정보를 제공하며 SourceName 속성을 통해 해당 WebView를 참조합니다. WebViewBrush 에는 이 오버레이 제한이 없습니다.

가끔 겹치는 콘텐츠(예: 드롭다운 목록 또는 앱 바)만 있는 대화형 WebView를 표시하려는 경우 필요할 때 WebView 컨트롤을 일시적으로 숨기고 WebViewBrush 채우기를 사용하여 요소로 바꿀 수 있습니다. 그런 다음 겹치는 콘텐츠가 더 이상 없으면 원래 WebView를 다시 표시할 수 있습니다.

참고

"영공 문제"는 Windows 8.1 시작하여 해결되었으며 Windows 8.1 또는 Windows 10 대상으로 하는 앱에는 적용되지 않습니다.

WebView는 항상 문서 모드에서 인터넷 Explorer 10을 사용합니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1607 14393 XYFocusDown
1607 14393 XYFocusLeft
1607 14393 XYFocusRight
1607 14393 XYFocusUp
1803 17134 SeparateProcessLost
1809 17763 WebResourceRequested

생성자

WebView()

WebView 클래스의 새 instance 초기화합니다.

WebView(WebViewExecutionMode)

지정된 실행 모드를 사용하여 WebView 클래스의 새 instance 초기화합니다.

속성

AccessKey

이 요소의 액세스 키(니모닉)를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
AccessKeyScopeOwner

원본 요소의 시각적 트리에 없는 경우에도 이 요소에 대한 액세스 키 scope 제공하는 원본 요소를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
ActualHeight

FrameworkElement의 렌더링된 높이를 가져옵니다. 설명 부분을 참조하세요.

(다음에서 상속됨 FrameworkElement)
ActualOffset

레이아웃 프로세스의 정렬 단계에서 계산된 부모에 상대적인 이 UIElement의 위치를 가져옵니다.

(다음에서 상속됨 UIElement)
ActualSize

레이아웃 프로세스의 정렬 단계에서 이 UIElement가 계산한 크기를 가져옵니다.

(다음에서 상속됨 UIElement)
ActualTheme

RequestedTheme과 다를 수 있는 요소에서 현재 사용되는 UI 테마를 가져옵니다.

(다음에서 상속됨 FrameworkElement)
ActualWidth

FrameworkElement의 렌더링된 너비를 가져옵니다. 설명 부분을 참조하세요.

(다음에서 상속됨 FrameworkElement)
AllowDrop

끌어서 놓기 작업을 위해 이 UIElement 가 놓기 대상이 될 수 있는지 여부를 결정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
AllowedScriptNotifyUris

참고

AllowedScriptNotifyUris는 Windows 8.1 위해 컴파일된 앱에서 지원되지 않습니다. 대신 앱 매니페스트의 ApplicationContentUriRules 섹션을 업데이트합니다. 자세한 내용은 설명 섹션을 참조하세요.

ScriptNotify 이벤트를 이 WebView에 발생시킬 수 있는 안전한 URI 목록을 가져오거나 설정합니다.

AllowedScriptNotifyUrisProperty

참고

AllowedScriptNotifyUrisProperty는 Windows 8.1 위해 컴파일된 앱에서 지원되지 않습니다. 대신 앱 매니페스트의 ApplicationContentUriRules 섹션을 업데이트합니다. 자세한 내용은 설명 섹션을 참조하세요.

AllowedScriptNotifyUris 종속성 속성을 식별합니다.

AllowFocusOnInteraction

사용자가 상호 작용할 때 요소가 자동으로 포커스를 받는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
AllowFocusWhenDisabled

비활성화된 컨트롤이 포커스를 받을 수 있는지 여부를 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
AnyScriptNotifyUri

참고

AnyScriptNotifyUri는 Windows 8.1 위해 컴파일된 앱에서 지원되지 않습니다. 대신 앱 매니페스트의 ApplicationContentUriRules 섹션을 업데이트합니다. 자세한 내용은 설명 섹션을 참조하세요.

AllowedScriptNotifyUris 속성을 설정하여 모든 페이지에서 ScriptNotify 이벤트를 이 WebView로 실행할 수 있음을 나타내는 데 사용할 수 있는 값을 가져옵니다.

BaseUri

XAML 로드 시 XAML 생성 개체의 기본 URI(Uniform Resource Identifier)를 나타내는 URI(Uniform Resource Identifier)를 가져옵니다. 이 속성은 런타임에 URI(Uniform Resource Identifier) 확인에 유용합니다.

(다음에서 상속됨 FrameworkElement)
CacheMode

가능한 경우 렌더링된 콘텐츠를 복합 비트맵으로 캐시해야 했음을 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
CanBeScrollAnchor

UIElement가 스크롤 앵커링의 후보가 될 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
CanDrag

요소를 끌어서 놓기 작업에서 데이터로 끌 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
CanGoBack

뒤로 탐색 기록에 페이지가 하나 이상 있는지 여부를 나타내는 값을 가져옵니다.

CanGoBackProperty

CanGoBack 종속성 속성을 식별합니다.

CanGoForward

앞으로 탐색 기록에 페이지가 하나 이상 있는지 여부를 나타내는 값을 가져옵니다.

CanGoForwardProperty

CanGoForward 종속성 속성을 식별합니다.

CenterPoint

회전 또는 크기 조정이 발생하는 지점인 요소의 중심점을 가져오거나 설정합니다. 요소의 렌더링 위치에 영향을 줍니다.

(다음에서 상속됨 UIElement)
Clip

UIElement 콘텐츠의 윤곽선을 정의하는 데 사용되는 RectangleGeometry를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
CompositeMode

부모 레이아웃 및 창에서 요소에 대한 대체 컴퍼지션 및 혼합 모드를 선언하는 속성을 가져오거나 설정합니다. 이는 혼합 XAML/Microsoft DirectX UI와 관련된 요소와 관련이 있습니다.

(다음에서 상속됨 UIElement)
ContainsFullScreenElement

WebView에 전체 화면을 지원하는 요소가 포함되어 있는지 여부를 나타내는 값을 가져옵니다.

ContainsFullScreenElementProperty

ContainsFullScreenElement 종속성 속성을 식별합니다.

ContextFlyout

이 요소와 연결된 플라이아웃을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
DataContext

FrameworkElement에 대한 데이터 컨텍스트를 가져오거나 설정합니다. 데이터 컨텍스트의 일반적인 사용은 FrameworkElement{Binding} 태그 확장을 사용하고 데이터 바인딩에 참여하는 경우입니다.

(다음에서 상속됨 FrameworkElement)
DataTransferPackage

참고

DataTransferPackage는 Windows 8.1 후 릴리스에서 변경되거나 사용할 수 없습니다. 대신 CaptureSelectedContentToDataPackageAsync를 사용합니다.

WebView에 전달된 클립보드 DataPackage를 가져옵니다.

DataTransferPackageProperty

참고

DataTransferPackageProperty는 Windows 8.1 후 릴리스에서 변경되거나 사용할 수 없습니다. 대신 CaptureSelectedContentToDataPackageAsync를 사용합니다.

DataTransferPackage 종속성 속성을 식별합니다.

DefaultBackgroundColor

HTML 콘텐츠가 색을 지정하지 않을 때 WebView 배경으로 사용할 색을 가져오거나 설정합니다.

DefaultBackgroundColorProperty

DefaultBackgroundColor 종속성 속성을 식별합니다.

DefaultExecutionMode

현재 앱에서 WebView 인스턴스의 기본 스레딩 동작을 가져옵니다.

DeferredPermissionRequests

부여되거나 거부되기를 기다리는 권한 요청의 컬렉션을 가져옵니다.

DesiredSize

레이아웃 프로세스의 측정 단계에서 이 UIElement 가 계산한 크기를 가져옵니다.

(다음에서 상속됨 UIElement)
Dispatcher

이 개체가 연결된 CoreDispatcher 를 가져옵니다. CoreDispatcher는 코드가 비 UI 스레드에서 시작된 경우에도 UI 스레드에서 DependencyObject에 액세스할 수 있는 기능을 나타냅니다.

(다음에서 상속됨 DependencyObject)
DocumentTitle

현재 WebView에 표시된 페이지의 제목을 가져옵니다.

DocumentTitleProperty

DocumentTitle 종속성 속성을 식별합니다.

ExecutionMode

WebView가 UI 스레드 또는 비 UI 스레드에서 콘텐츠를 호스트하는지 여부를 나타내는 값을 가져옵니다.

ExitDisplayModeOnAccessKeyInvoked

액세스 키를 호출할 때 액세스 키 표시가 해제되는지 여부를 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
FlowDirection

레이아웃을 제어하는 부모 요소 내에서 텍스트 및 기타 UI 요소가 흐르는 방향을 가져오거나 설정합니다. 이 속성은 LeftToRight 또는 RightToLeft로 설정할 수 있습니다. 모든 요소에서 FlowDirection을 RightToLeft 로 설정하면 오른쪽 맞춤, 읽기 순서가 오른쪽에서 왼쪽으로, 컨트롤 레이아웃이 오른쪽에서 왼쪽으로 흐릅니다.

(다음에서 상속됨 FrameworkElement)
FocusVisualMargin

FrameworkElement에 대한 포커스 시각적 개체의 외부 여백을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
FocusVisualPrimaryBrush

FrameworkElement에 대한 또는 포커스 시각적 개체의 바깥 테두리를 HighVisibility 그리는 데 사용되는 브러시를 가져오거나 Reveal 설정합니다.

(다음에서 상속됨 FrameworkElement)
FocusVisualPrimaryThickness

FrameworkElement에 대한 또는 포커스 시각적 개체의 HighVisibility 바깥 테두리 두께를 가져오거나 Reveal 설정합니다.

(다음에서 상속됨 FrameworkElement)
FocusVisualSecondaryBrush

FrameworkElement에 대한 또는 포커스 시각적 개체의 내부 테두리를 HighVisibility 그리는 데 사용되는 브러시를 가져오거나 Reveal 설정합니다.

(다음에서 상속됨 FrameworkElement)
FocusVisualSecondaryThickness

FrameworkElement에 대한 또는 포커스 시각적 개체의 HighVisibility 내부 테두리 두께를 가져오거나 Reveal 설정합니다.

(다음에서 상속됨 FrameworkElement)
Height

FrameworkElement의 제안된 높이를 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
HighContrastAdjustment

고대비 테마를 사용할 때 프레임워크가 요소의 시각적 속성을 자동으로 조정하는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
HorizontalAlignment

패널 또는 항목 컨트롤과 같은 레이아웃 부모로 구성될 때 FrameworkElement 에 적용되는 가로 맞춤 특성을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
IsAccessKeyScope

요소가 자체 액세스 키 scope 정의하는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
IsDoubleTapEnabled

DoubleTapped 이벤트가 해당 요소에서 발생할 수 있는지 여부를 결정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
IsHitTestVisible

UIElement 의 포함된 영역이 적중 횟수 테스트를 위해 실제 값을 반환할 수 있는지 여부를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
IsHoldingEnabled

Holding 이벤트가 해당 요소에서 발생할 수 있는지 여부를 결정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
IsLoaded

요소가 요소 트리에 추가되었으며 상호 작용할 준비가 되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 FrameworkElement)
IsRightTapEnabled

RightTapped 이벤트가 해당 요소에서 발생할 수 있는지 여부를 결정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
IsTapEnabled

Tapped 이벤트가 해당 요소에서 발생할 수 있는지 여부를 결정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
KeyboardAcceleratorPlacementMode

컨트롤 도구 설명 에 연결된 키보드 가속기 키 조합이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
KeyboardAcceleratorPlacementTarget

가속기 키 조합을 표시하는 컨트롤 도구 설명을 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
KeyboardAccelerators

키보드를 사용하여 작업을 호출하는 키 조합의 컬렉션을 가져옵니다.

가속기는 일반적으로 단추 또는 메뉴 항목에 할당됩니다.

다양한 메뉴 항목에 대한 키보드 가속기를 보여 주는 메뉴의 예
다양한 메뉴 항목에 대한 키보드 가속기를 보여 주는 메뉴의 예

(다음에서 상속됨 UIElement)
KeyTipHorizontalOffset

키 팁이 UIElement와 관련하여 배치되는 간격을 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
KeyTipPlacementMode

UIElement 경계와 관련하여 액세스 키 키 팁이 배치되는 위치를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
KeyTipTarget

액세스 키 키 팁이 대상으로 하는 요소를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
KeyTipVerticalOffset

키 팁이 UI 요소와 관련하여 배치되는 거리를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Language

FrameworkElement 및 개체 표현 및 UI에서 현재 FrameworkElement의 모든 자식 요소에도 적용되는 지역화/세계화 언어 정보를 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
Lights

이 요소에 연결된 XamlLight 개체의 컬렉션을 가져옵니다.

(다음에서 상속됨 UIElement)
ManipulationMode

UIElement 동작 및 제스처와의 상호 작용에 사용되는 ManipulationModes 값을 가져오거나 설정합니다. 이 값을 설정하면 앱 코드에서 이 요소의 조작 이벤트를 처리할 수 있습니다.

(다음에서 상속됨 UIElement)
Margin

FrameworkElement의 외부 여백을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
MaxHeight

FrameworkElement의 최대 높이 제약 조건을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
MaxWidth

FrameworkElement의 최대 너비 제약 조건을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
MinHeight

FrameworkElement의 최소 높이 제약 조건을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
MinWidth

FrameworkElement의 최소 너비 제약 조건을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
Name

개체의 식별 이름을 가져오거나 설정합니다. XAML 프로세서가 XAML 태그에서 개체 트리를 만들 때 런타임 코드는 이 이름으로 XAML 선언 개체를 참조할 수 있습니다.

(다음에서 상속됨 FrameworkElement)
Opacity

개체의 불투명도를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
OpacityTransition

Opacity 속성의 변경 내용에 애니메이션 효과를 주는 ScalarTransition을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Parent

개체 트리에서 이 FrameworkElement 의 부모 개체를 가져옵니다.

(다음에서 상속됨 FrameworkElement)
PointerCaptures

포인터 값으로 표시되는 캡처된 모든 포인터의 집합 가져옵니다.

(다음에서 상속됨 UIElement)
Projection

이 요소를 렌더링할 때 적용할 원근 투영(3차원 효과)을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
RenderSize

UIElement의 최종 렌더링 크기를 가져옵니다. 사용은 권장되지 않습니다. 주의 사항을 참조하세요.

(다음에서 상속됨 UIElement)
RenderTransform

UIElement의 렌더링 위치에 영향을 주는 변환 정보를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
RenderTransformOrigin

RenderTransform에서 선언한 가능한 렌더링 변환의 원점을 가져오거나 설정하며 UIElement의 범위를 기준으로 합니다.

(다음에서 상속됨 UIElement)
RequestedTheme

리소스 결정을 위해 UIElement (및 해당 자식 요소)에서 사용하는 UI 테마를 가져오거나 설정합니다. RequestedTheme로 지정하는 UI 테마는 앱 수준 RequestedTheme을 재정의할 수 있습니다.

(다음에서 상속됨 FrameworkElement)
Resources

로컬로 정의된 리소스 사전을 가져옵니다. XAML에서는 XAML 암시적 컬렉션 구문을 통해 리소스 항목을 속성 요소의 frameworkElement.Resources 자식 개체 요소로 설정할 수 있습니다.

(다음에서 상속됨 FrameworkElement)
Rotation

시계 방향 회전 각도를 도 단위로 가져오거나 설정합니다. RotationAxis 및 CenterPoint를 기준으로 회전합니다. 요소의 렌더링 위치에 영향을 줍니다.

(다음에서 상속됨 UIElement)
RotationAxis

요소를 회전할 축을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
RotationTransition

Rotation 속성의 변경 내용에 애니메이션 효과를 주는 ScalarTransition을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Scale

요소의 배율을 가져오거나 설정합니다. 요소의 CenterPoint를 기준으로 크기를 조정합니다. 요소의 렌더링 위치에 영향을 줍니다.

(다음에서 상속됨 UIElement)
ScaleTransition

Scale 속성에 대한 변경 내용에 애니메이션 효과를 주는 Vector3Transition을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Settings

WebView 기능을 사용하거나 사용하지 않도록 설정하는 속성이 포함된 WebViewSettings 개체를 가져옵니다.

Shadow

요소에 의해 캐스팅된 그림자 효과를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Source

WebView 컨트롤에 표시할 HTML 콘텐츠의 URI(Uniform Resource Identifier) 원본을 가져오거나 설정합니다.

SourceProperty

원본 종속성 속성을 식별합니다.

Style

레이아웃 및 렌더링 중에 이 개체에 적용되는 instance Style을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
TabFocusNavigation

이 컨트롤에 대한 탭 및 TabIndex 작동 방식을 수정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Tag

이 개체에 대한 사용자 지정 정보를 저장하는 데 사용할 수 있는 임의의 개체 값을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
Transform3D

이 요소를 렌더링할 때 적용할 3차원 변환 효과를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
TransformMatrix

요소에 적용할 변환 행렬을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Transitions

UIElement에 적용되는 전환 스타일 요소의 컬렉션을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Translation

요소의 x, y 및 z 렌더링 위치를 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
TranslationTransition

Translation 속성에 대한 변경 내용에 애니메이션 효과를 주는 Vector3Transition을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
Triggers

FrameworkElement에 대해 정의된 애니메이션에 대한 트리거 컬렉션을 가져옵니다. 일반적으로 사용되지 않습니다. 설명 부분을 참조하세요.

(다음에서 상속됨 FrameworkElement)
UIContext

요소의 컨텍스트 식별자를 가져옵니다.

(다음에서 상속됨 UIElement)
UseLayoutRounding

개체 및 시각적 하위 트리에 대한 렌더링이 렌더링을 전체 픽셀에 맞추는 반올림 동작을 사용해야 하는지 여부를 결정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
VerticalAlignment

패널 또는 항목 컨트롤과 같은 부모 개체에서 작성될 때 FrameworkElement 에 적용되는 세로 맞춤 특성을 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
Visibility

UIElement의 표시 유형을 가져오거나 설정합니다. 표시되지 않는 UIElement 는 렌더링되지 않으며 원하는 크기를 레이아웃에 전달하지 않습니다.

(다음에서 상속됨 UIElement)
Width

FrameworkElement의 너비를 가져오거나 설정합니다.

(다음에서 상속됨 FrameworkElement)
XamlRoot

이 요소를 볼 을 가져오거나 설정합니다 XamlRoot .

(다음에서 상속됨 UIElement)
XYFocusDown

사용자가 방향 패드(D 패드)를 누를 때 포커스를 가져오는 개체를 가져오거나 설정합니다.

XYFocusDownNavigationStrategy

아래쪽 탐색의 대상 요소를 결정하는 데 사용되는 전략을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
XYFocusDownProperty

XYFocusDown 종속성 속성을 식별합니다.

XYFocusKeyboardNavigation

키보드 방향 화살표를 사용하여 탐색을 사용하거나 사용하지 않도록 설정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
XYFocusLeft

사용자가 방향 패드(D 패드)를 왼쪽으로 누를 때 포커스를 가져오는 개체를 가져오거나 설정합니다.

XYFocusLeftNavigationStrategy

왼쪽 탐색의 대상 요소를 결정하는 데 사용되는 전략을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
XYFocusLeftProperty

XYFocusLeft 종속성 속성을 식별합니다.

XYFocusRight

사용자가 방향 패드(D 패드)를 오른쪽으로 누를 때 포커스를 가져오는 개체를 가져오거나 설정합니다.

XYFocusRightNavigationStrategy

오른쪽 탐색의 대상 요소를 결정하는 데 사용되는 전략을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
XYFocusRightProperty

XYFocusRight 종속성 속성을 식별합니다.

XYFocusUp

사용자가 방향 패드(D 패드)를 누를 때 포커스를 받는 개체를 가져오거나 설정합니다.

XYFocusUpNavigationStrategy

위쪽 탐색의 대상 요소를 결정하는 데 사용되는 전략을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 UIElement)
XYFocusUpProperty

XYFocusUp 종속성 속성을 식별합니다.

메서드

AddHandler(RoutedEvent, Object, Boolean)

지정된 라우트된 이벤트에 대해 라우트된 이벤트 처리기를 추가하여 해당 처리기를 현재 요소의 처리기 컬렉션에 추가합니다. handledEventsToo를true로 지정하여 이벤트가 다른 곳에서 처리되더라도 제공된 처리기를 호출하도록 합니다.

(다음에서 상속됨 UIElement)
AddWebAllowedObject(String, Object)

네이티브 Windows 런타임 개체를 WebView 내의 최상위 문서에 전역 매개 변수로 추가합니다.

Arrange(Rect)

자식 개체의 위치를 지정하고 UIElement의 크기를 결정합니다. 자식 요소에 대한 사용자 지정 레이아웃을 구현하는 부모 개체는 레이아웃 재정의 구현에서 이 메서드를 호출하여 재귀 레이아웃 업데이트를 구성해야 합니다.

(다음에서 상속됨 UIElement)
ArrangeOverride(Size)

레이아웃의 "정렬" 패스에 대한 동작을 제공합니다. 클래스는 이 메서드를 재정의하여 고유한 "Arrange" 패스 동작을 정의할 수 있습니다.

(다음에서 상속됨 FrameworkElement)
BuildLocalStreamUri(String, String)

NavigateToLocalStreamUri에 전달할 수 있는 URI를 만듭니다.

CancelDirectManipulations()

현재 UIElement를 포함하는 ScrollViewer 부모에서 진행 중인 직접 조작 처리(시스템 정의 이동/확대/축소)를 취소합니다.

(다음에서 상속됨 UIElement)
CapturePointer(Pointer)

포인터 캡처를 UIElement로 설정합니다. 캡처되면 캡처가 있는 요소만 포인터 관련 이벤트를 발생합니다.

(다음에서 상속됨 UIElement)
CapturePreviewToStreamAsync(IRandomAccessStream)

현재 WebView 콘텐츠의 이미지를 만들고 지정된 스트림에 씁니다.

CaptureSelectedContentToDataPackageAsync()

WebView 내에서 선택한 콘텐츠가 포함된 DataPackage를 비동기적으로 가져옵니다.

ClearTemporaryWebDataAsync()

WebView의 캐시 및 IndexedDB 데이터를 지웁니다.

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

(다음에서 상속됨 DependencyObject)
DeferredPermissionRequestById(UInt32)

지정된 ID를 사용하여 지연된 권한 요청을 반환합니다.

FindName(String)

지정된 식별자 이름이 있는 개체를 검색합니다.

(다음에서 상속됨 FrameworkElement)
FindSubElementsForTouchTargeting(Point, Rect)

UIElement 하위 클래스가 터치 대상 지정을 해결하는 데 도움이 되는 자식 요소를 노출할 수 있도록 합니다.

(다음에서 상속됨 UIElement)
Focus(FocusState)

입력 포커스를 WebView로 설정합니다.

GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우 적용되는 종속성 속성에 대해 설정된 모든 기본 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GetBindingExpression(DependencyProperty)

지정된 속성의 바인딩을 나타내는 BindingExpression 을 반환합니다.

(다음에서 상속됨 FrameworkElement)
GetChildrenInTabFocusOrder()

UIElement 하위 클래스가 Tab 포커스에 참여하는 자식 요소를 노출할 수 있도록 합니다.

(다음에서 상속됨 UIElement)
GetValue(DependencyProperty)

DependencyObject에서 종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GoBack()

WebView를 탐색 기록의 이전 페이지로 이동합니다.

GoForward()

WebView를 탐색 기록의 다음 페이지로 이동합니다.

GoToElementStateCore(String, Boolean)

파생 클래스에서 구현되는 경우 컨트롤 시작 시 모든 상태에 대해 XAML을 로드하는 대신 코드에서 컨트롤 템플릿에 대한 시각적 트리의 상태별 생성을 사용하도록 설정합니다.

(다음에서 상속됨 FrameworkElement)
InvalidateArrange()

UIElement의 정렬 상태(레이아웃)를 무효화합니다. 무효화 후 UIElement 의 레이아웃이 업데이트되어 비동기적으로 발생합니다.

(다음에서 상속됨 UIElement)
InvalidateMeasure()

UIElement의 측정 상태(레이아웃)를 무효화합니다.

(다음에서 상속됨 UIElement)
InvalidateViewport()

유효 뷰포트를 계산하는 데 사용되는 UIElement뷰포트 상태를 무효화합니다.

(다음에서 상속됨 FrameworkElement)
InvokeScript(String, String[])

참고

InvokeScript는 Windows 8.1 후 릴리스에서 변경되거나 사용할 수 없습니다. 대신 InvokeScriptAsync를 사용합니다.

특정 인수를 사용하여 현재 로드된 HTML에서 지정된 스크립트 함수를 실행합니다.

InvokeScriptAsync(String, IIterable<String>)

특정 인수를 사용하여 현재 로드된 HTML에서 지정된 스크립트 함수를 비동기 작업으로 실행합니다.

Measure(Size)

UIElementDesiredSize를 업데이트. 일반적으로 레이아웃 자식에 대한 사용자 지정 레이아웃을 구현하는 개체는 자체 MeasureOverride 구현에서 이 메서드를 호출하여 재귀 레이아웃 업데이트를 형성합니다.

(다음에서 상속됨 UIElement)
MeasureOverride(Size)

레이아웃 주기의 "측정값" 패스에 대한 동작을 제공합니다. 클래스는 이 메서드를 재정의하여 고유한 "측정값" 전달 동작을 정의할 수 있습니다.

(다음에서 상속됨 FrameworkElement)
Navigate(Uri)

지정된 URI(Uniform Resource Identifier)에서 HTML 콘텐츠를 로드합니다.

NavigateToLocalStreamUri(Uri, IUriToStreamResolver)

IUriToStreamResolver를 사용하여 지정된 URI에서 로컬 웹 콘텐츠를 로드합니다.

NavigateToString(String)

지정된 HTML 콘텐츠를 새 문서로 로드합니다.

NavigateWithHttpRequestMessage(HttpRequestMessage)

POST 요청 및 HTTP 헤더를 사용하여 WebView 를 URI로 이동합니다.

OnApplyTemplate()

애플리케이션 코드 또는 내부 프로세스(예: 다시 빌드 레이아웃 패스)가 ApplyTemplate을 호출할 때마다 호출됩니다. 즉, UI 요소가 앱에 표시되기 직전에 메서드가 호출됩니다. 클래스의 기본 템플릿 후 논리에 영향을 주도록 이 메서드를 재정의합니다.

(다음에서 상속됨 FrameworkElement)
OnBringIntoViewRequested(BringIntoViewRequestedEventArgs)

BringIntoViewRequested 이벤트가 발생하기 전에 호출됩니다.

(다음에서 상속됨 UIElement)
OnCreateAutomationPeer()

파생 클래스에서 구현되는 경우 는 Microsoft UI 자동화 인프라에 대한 클래스별 AutomationPeer 구현을 반환합니다.

(다음에서 상속됨 UIElement)
OnDisconnectVisualChildren()

클래스별 콘텐츠 또는 자식 속성에서 항목을 제거할 때 레이아웃 및 논리가 작동하는 방식을 구현하려면 이 메서드를 재정의합니다.

(다음에서 상속됨 UIElement)
OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs)

앱에서 바로 가기 키(또는 가속기) 가 처리될 때 호출됩니다. 키보드 가속기가 호출될 때 앱이 응답하는 방법을 처리하도록 이 메서드를 재정의합니다.

(다음에서 상속됨 UIElement)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

바로 가기 키(또는 가속기) 가 앱에서 처리되기 직전에 호출됩니다. 애플리케이션 코드 또는 내부 프로세스가 ProcessKeyboardAccelerators를 호출할 때마다 호출됩니다. 기본 가속기 처리에 영향을 주도록 이 메서드를 재정의합니다.

(다음에서 상속됨 UIElement)
PopulatePropertyInfo(String, AnimationPropertyInfo)

애니메이션 효과를 주는 속성을 정의합니다.

(다음에서 상속됨 UIElement)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

파생 클래스에서 재정의되는 경우 애니메이션 효과를 주는 속성을 정의합니다.

(다음에서 상속됨 UIElement)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
Refresh()

WebView에서 현재 콘텐츠를 다시 로드합니다.

RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject instance 특정 DependencyProperty의 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

(다음에서 상속됨 DependencyObject)
ReleasePointerCapture(Pointer)

UIElement에서 특정 포인터 하나를 캡처하기 위한 포인터 캡처를 해제합니다.

(다음에서 상속됨 UIElement)
ReleasePointerCaptures()

이 요소가 보유한 모든 포인터 캡처를 해제합니다.

(다음에서 상속됨 UIElement)
RemoveHandler(RoutedEvent, Object)

UIElement에서 지정된 라우트된 이벤트 처리기를 제거합니다. 일반적으로 해당 처리기는 AddHandler에 의해 추가되었습니다.

(다음에서 상속됨 UIElement)
SetBinding(DependencyProperty, BindingBase)

제공된 바인딩 개체를 사용하여 FrameworkElement에 바인딩을 연결합니다.

(다음에서 상속됨 FrameworkElement)
SetValue(DependencyProperty, Object)

DependencyObject에서 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
StartAnimation(ICompositionAnimationBase)

요소에서 지정된 애니메이션을 시작합니다.

(다음에서 상속됨 UIElement)
StartBringIntoView()

XAML 프레임워크에 대한 요청을 시작하여 포함된 스크롤 가능한 영역 내에서 요소를 보기로 가져옵니다.

(다음에서 상속됨 UIElement)
StartBringIntoView(BringIntoViewOptions)

지정된 옵션을 사용하여 요소를 보기로 가져오는 XAML 프레임워크에 대한 요청을 시작합니다.

(다음에서 상속됨 UIElement)
StartDragAsync(PointerPoint)

끌어서 놓기 작업을 시작합니다.

(다음에서 상속됨 UIElement)
Stop()

현재 WebView 탐색 또는 다운로드를 중지합니다.

StopAnimation(ICompositionAnimationBase)

요소에서 지정된 애니메이션을 중지합니다.

(다음에서 상속됨 UIElement)
TransformToVisual(UIElement)

UIElement에서 지정된 개체로 좌표를 변환하는 데 사용할 수 있는 변환 개체를 반환합니다.

(다음에서 상속됨 UIElement)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

바로 가기 키에 대한 UIElement의 전체 시각적 트리를 검색하여 바로 가기 키(또는 가속기) 를 호출하려고 시도합니다.

(다음에서 상속됨 UIElement)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback을 호출하여 이전에 등록된 변경 알림을 취소합니다.

(다음에서 상속됨 DependencyObject)
UpdateLayout()

레이아웃에 대해 UIElement 의 자식 개체의 모든 위치가 제대로 업데이트되었는지 확인합니다.

(다음에서 상속됨 UIElement)

이벤트

AccessKeyDisplayDismissed

액세스 키를 더 이상 표시하지 않아야 하는 경우에 발생합니다.

(다음에서 상속됨 UIElement)
AccessKeyDisplayRequested

사용자가 액세스 키를 표시할 것을 요청할 때 발생합니다.

(다음에서 상속됨 UIElement)
AccessKeyInvoked

사용자가 액세스 키 시퀀스를 완료할 때 발생합니다.

(다음에서 상속됨 UIElement)
ActualThemeChanged

ActualTheme 속성 값이 변경되면 발생합니다.

(다음에서 상속됨 FrameworkElement)
BringIntoViewRequested

이 요소 또는 해당 하위 항목 중 하나에서 StartBringIntoView 가 호출될 때 발생합니다.

(다음에서 상속됨 UIElement)
CharacterReceived

입력 큐에서 구성된 단일 문자를 수신할 때 발생합니다.

(다음에서 상속됨 UIElement)
ContainsFullScreenElementChanged

WebView에 현재 전체 화면 요소가 포함되어 있는지 여부에 대한 상태 변경될 때 발생합니다.

ContentLoading

WebView가 새 콘텐츠 로드를 시작할 때 발생합니다.

ContextCanceled

컨텍스트 입력 제스처가 조작 제스처로 계속 진행되어 요소에 컨텍스트 플라이아웃을 열지 않아야 했음을 알릴 때 발생합니다.

(다음에서 상속됨 UIElement)
ContextRequested

사용자가 마우스 오른쪽 단추 클릭과 같은 컨텍스트 입력 제스처를 완료한 경우에 발생합니다.

(다음에서 상속됨 UIElement)
DataContextChanged

FrameworkElement.DataContext 속성의 값이 변경될 때 발생합니다.

(다음에서 상속됨 FrameworkElement)
DOMContentLoaded

WebView가 현재 HTML 콘텐츠 구문 분석을 완료한 경우에 발생합니다.

DoubleTapped

처리되지 않은 DoubleTap 상호 작용이 이 요소의 적중 테스트 영역에서 발생할 때 발생합니다.

(다음에서 상속됨 UIElement)
DragEnter

입력 시스템이 이 요소를 대상으로 사용하여 기본 끌기 이벤트를 보고할 때 발생합니다.

(다음에서 상속됨 UIElement)
DragLeave

입력 시스템이 이 요소를 원본으로 사용하여 기본 끌기 이벤트를 보고할 때 발생합니다.

(다음에서 상속됨 UIElement)
DragOver

입력 시스템에서 이 요소를 잠재적인 놓기 대상으로 사용하는 기본 끌기 이벤트를 보고하면 발생합니다.

(다음에서 상속됨 UIElement)
DragStarting

끌기 작업이 시작될 때 발생합니다.

(다음에서 상속됨 UIElement)
Drop

입력 시스템에서 이 요소를 놓기 대상으로 사용하는 기본 놓기 이벤트를 보고하면 발생합니다.

(다음에서 상속됨 UIElement)
DropCompleted

원본이 종료되면 이 요소를 사용하여 끌어서 놓기 작업을 수행할 때 발생합니다.

(다음에서 상속됨 UIElement)
EffectiveViewportChanged

FrameworkElement유효 뷰포트가 변경될 때 발생합니다.

(다음에서 상속됨 FrameworkElement)
FrameContentLoading

WebView의 프레임이 새 콘텐츠를 로드하기 시작했을 때 발생합니다.

FrameDOMContentLoaded

WebView의 프레임이 현재 HTML 콘텐츠 구문 분석을 완료한 경우에 발생합니다.

FrameNavigationCompleted

WebView의 프레임이 콘텐츠 로드를 완료할 때 발생합니다.

FrameNavigationStarting

WebView의 프레임이 새 콘텐츠로 이동하기 전에 발생합니다.

GettingFocus

UIElement가 포커스를 받기 전에 발생합니다. 이 이벤트는 이벤트가 버블링되는 동안 포커스가 이동되지 않도록 동기적으로 발생합니다.

(다음에서 상속됨 UIElement)
GotFocus

UIElement가 포커스를 받을 때 발생합니다. 이 이벤트는 비동기적으로 발생하므로 버블링이 완료되기 전에 포커스가 다시 이동할 수 있습니다.

(다음에서 상속됨 UIElement)
Holding

처리되지 않은 보류 상호 작용이 이 요소의 적중 테스트 영역에서 발생할 때 발생합니다.

(다음에서 상속됨 UIElement)
KeyDown

UIElement에 포커스가 있는 동안 키보드 키를 누를 때 발생합니다.

(다음에서 상속됨 UIElement)
KeyUp

UIElement에 포커스가 있는 동안 키보드 키가 해제될 때 발생합니다.

(다음에서 상속됨 UIElement)
LayoutUpdated

레이아웃 관련 속성 변경 값 또는 레이아웃을 새로 고치는 다른 작업으로 인해 시각적 트리의 레이아웃이 변경되면 발생합니다.

(다음에서 상속됨 FrameworkElement)
LoadCompleted

참고

LoadCompleted는 Windows 8.1 후 릴리스에서 변경되거나 사용할 수 없습니다. 대신 NavigationCompleted를 사용합니다.

최상위 탐색이 완료되고 콘텐츠가 WebView 컨트롤로 로드되거나 로드하는 동안 오류가 발생할 때 발생합니다.

Loaded

FrameworkElement가 생성되어 개체 트리에 추가되고 상호 작용할 준비가 되었을 때 발생합니다.

(다음에서 상속됨 FrameworkElement)
Loading

FrameworkElement가 로드되기 시작할 때 발생합니다.

(다음에서 상속됨 FrameworkElement)
LongRunningScriptDetected

WebView가 JavaScript를 실행하는 동안 주기적으로 발생하므로 스크립트를 중지할 수 있습니다.

LosingFocus

UIElement가 포커스를 잃기 전에 발생합니다. 이 이벤트는 이벤트가 버블링되는 동안 포커스가 이동되지 않도록 동기적으로 발생합니다.

(다음에서 상속됨 UIElement)
LostFocus

UIElement가 포커스를 잃을 때 발생합니다. 이 이벤트는 비동기적으로 발생하므로 버블링이 완료되기 전에 포커스가 다시 이동할 수 있습니다.

(다음에서 상속됨 UIElement)
ManipulationCompleted

UIElement에 대한 조작이 완료되면 발생합니다.

(다음에서 상속됨 UIElement)
ManipulationDelta

입력 디바이스에서 조작 중에 위치를 변경하면 발생합니다.

(다음에서 상속됨 UIElement)
ManipulationInertiaStarting

조작하는 동안 입력 디바이스와 UIElement 개체의 연결이 끊어지고 관성이 시작될 때 발생합니다.

(다음에서 상속됨 UIElement)
ManipulationStarted

입력 디바이스가 UIElement에 대한 조작을 시작할 때 발생합니다.

(다음에서 상속됨 UIElement)
ManipulationStarting

조작 프로세서가 처음으로 만들어지면 발생합니다.

(다음에서 상속됨 UIElement)
NavigationCompleted

WebView가 현재 콘텐츠 로드를 완료했거나 탐색에 실패한 경우에 발생합니다.

NavigationFailed

참고

NavigationFailed는 Windows 8.1 후 릴리스에 대해 변경되거나 사용할 수 없을 수 있습니다. 대신 NavigationCompleted를 사용합니다.

WebView가 탐색 시도를 완료할 수 없는 경우에 발생합니다.

NavigationStarting

WebView가 새 콘텐츠로 이동하기 전에 발생합니다.

NewWindowRequested

사용자가 WebView 에서 새 창에서 콘텐츠를 열도록 하는 작업을 수행할 때 발생합니다.

NoFocusCandidateFound

사용자가 탭 또는 방향 화살표를 통해 포커스를 이동하려고 하지만 포커스 후보가 이동 방향에서 찾을 수 없으므로 포커스가 이동하지 않을 때 발생합니다.

(다음에서 상속됨 UIElement)
PermissionRequested

WebView의 작업에서 해당 권한을 부여해야 하는 경우에 발생합니다.

PointerCanceled

연락처를 비정상적으로 만든 포인터가 연락처를 잃을 때 발생합니다.

(다음에서 상속됨 UIElement)
PointerCaptureLost

이 요소가 이전에 보유한 포인터 캡처가 다른 요소 또는 다른 곳으로 이동할 때 발생합니다.

(다음에서 상속됨 UIElement)
PointerEntered

포인터가 이 요소의 적중 테스트 영역에 들어갈 때 발생합니다.

(다음에서 상속됨 UIElement)
PointerExited

포인터가 이 요소의 적중 테스트 영역을 떠날 때 발생합니다.

(다음에서 상속됨 UIElement)
PointerMoved

포인터가 이 요소의 적중 테스트 영역 내에 남아 있는 동안 포인터가 움직일 때 발생합니다.

(다음에서 상속됨 UIElement)
PointerPressed

포인터 디바이스가 이 요소 내에서 Press 동작을 시작할 때 발생합니다.

(다음에서 상속됨 UIElement)
PointerReleased

이전에 Press 작업을 시작한 포인터 디바이스가 이 요소 내에 있는 동안 해제될 때 발생합니다. Press 동작의 끝은 PointerReleased 이벤트를 발생시키지 않습니다. 대신 다른 이벤트가 발생할 수 있습니다. 자세한 내용은 비고를 참조하세요.

(다음에서 상속됨 UIElement)
PointerWheelChanged

포인터 휠의 델타 값이 변경되면 발생합니다.

(다음에서 상속됨 UIElement)
PreviewKeyDown

UIElement에 포커스가 있는 동안 키보드 키를 누를 때 발생합니다.

(다음에서 상속됨 UIElement)
PreviewKeyUp

UIElement에 포커스가 있는 동안 키보드 키가 해제될 때 발생합니다.

(다음에서 상속됨 UIElement)
ProcessKeyboardAccelerators

바로 가기 키(또는 가속기)를 누를 때 발생합니다.

(다음에서 상속됨 UIElement)
RightTapped

포인터가 요소 위에 있는 동안 오른쪽 탭 입력 자극이 발생할 때 발생합니다.

(다음에서 상속됨 UIElement)
ScriptNotify

WebView 컨트롤에 포함된 콘텐츠가 JavaScript를 사용하여 문자열을 애플리케이션에 전달하는 경우에 발생합니다.

SeparateProcessLost

WebView가 SeparateProcessExecutionMode로 실행되고 별도의 프로세스가 손실될 때 발생합니다.

SizeChanged

ActualHeight 또는 ActualWidth 속성이 FrameworkElement의 값을 변경할 때 발생합니다.

(다음에서 상속됨 FrameworkElement)
Tapped

처리되지 않은 상호 작용이 이 요소의 적중 테스트 영역에서 발생할 때 발생합니다.

(다음에서 상속됨 UIElement)
Unloaded

이 개체가 더 이상 기본 개체 트리에 연결되지 않은 경우에 발생합니다.

(다음에서 상속됨 FrameworkElement)
UnsafeContentWarningDisplaying

WebView에 SmartScreen 필터에서 안전하지 않은 것으로 보고된 콘텐츠에 대한 경고 페이지가 표시될 때 발생합니다.

UnsupportedUriSchemeIdentified

WebView에서 지원하지 않는 체계를 사용하여 URI(Uniform Resource Identifier)로 이동하려고 할 때 발생합니다.

UnviewableContentIdentified

WebView가 지원되지 않는 파일을 다운로드하려고 할 때 발생합니다.

WebResourceRequested

HTTP 요청이 수행되었을 때 발생합니다.

적용 대상

추가 정보