다음을 통해 공유


AppWindow 클래스

정의

앱 콘텐츠에 대한 시스템 관리 컨테이너를 나타냅니다.

public ref class AppWindow sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppWindow final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppWindow
Public NotInheritable Class AppWindow
상속
Object Platform::Object IInspectable AppWindow
특성

Windows 요구 사항

디바이스 패밀리
Windows 10, version 1903 (10.0.18362.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v8.0에서 도입되었습니다.)

설명

참고

AppWindow는 현재 미리 보기로 제공됩니다. 따라서 AppWindow를 사용하는 앱을 Microsoft Store에 제출할 수 있지만, 일부 플랫폼 및 프레임워크 구성 요소는 AppWindow에서 작동하지 않는 것으로 알려져 있습니다(제한 사항 참조).

두 개 이상의 창이 있는 경우 AppWindow를 사용하여 Windows 런타임 앱의 표시된 부분을 나타낼 수 있습니다. ApplicationView와 비슷하지만 동작과 수명이 동일하지는 않습니다.

ApplicationView와 달리 각 AppWindow에는 해당 CoreWindow가 없습니다. 모두 생성된 동일한 UI 처리 스레드(이벤트 디스패처 포함)를 공유합니다.

이 형식의 개체를 가져오려면 AppWindow.TryCreateAsync를 호출합니다.

AppWindow에 콘텐츠를 연결하려면 ElementCompositionPreview.SetAppWindowContent를 호출합니다.

AppWindow에만 XAML 콘텐츠를 연결할 수 있으며, 네이티브 DirectX 또는 Holographic 콘텐츠는 지원되지 않습니다.

앱 창의 기본 최소 크기를 지정하려면 WindowManagementPreview.SetPreferredMinSize 메서드를 사용합니다.

AppWindow를 보여 주는 자세한 정보 및 코드는 앱에 대한 여러 보기 표시AppWindow를 사용하여 여러 보기 표시를 참조하세요.

AppWindow API를 사용하는 방법을 보여 주는 샘플은 샘플 /AppWindow 아래 GitHub의 Windows 유니버설 샘플 리포지토리에서 찾을 수 있습니다.

제한 사항

AppWindow의 현재 미리 보기 버전의 제한 사항은 다음과 같습니다(완전하지 않은 목록임).

  • 현재 보기는 AppWindow와 별도의 엔터티인 ApplicationView를 참조하므로 GetForCurrentView 패턴을 사용하는 API는 AppWindow에서 작동하지 않습니다.
  • MediaElement 또는 MediaPlayerElement에서는 전체 화면 미디어 재생을 사용할 수 없습니다.
  • MessageDialog는 올바른 창으로 모달되지 않습니다. 대신 ContentDialog 를 사용하는 것이 좋습니다.
  • WebView는 완전히 지원되지 않습니다. in-proc WebView를 사용할 수 있지만 정적 HTML 콘텐츠 이외의 모든 항목이 제대로 작동하거나 작동하지 않을 수 있습니다.
  • XAML에서 Window.Current.Content 속성을 설정하면 AppWindow의 모든 XAML 콘텐츠가 삭제됩니다. AppWindow를 사용하는 경우 앱을 일시 중단할 때 콘텐츠를 다시 설정하는 패턴으로 사용하지 마세요.
  • 부드러운 창 크기 조정이 AppWindows에서 작동하지 않습니다. 프레임과 콘텐츠의 크기가 독립적으로 조정되므로 콘텐츠 레이아웃이 느려지면 폴리싱되지 않은 것처럼 보일 수 있습니다.
  • AppWindow에는 DisplayInformation에 액세스할 수 없습니다. AppWindow가 ApplicationView와 다른 모니터에 있는 경우 올바른 표시 정보를 쿼리할 수 없습니다.
  • AppWindow에 대해 UserInteractionMode를 설정할 수 없습니다.
  • 인쇄 대화 상자(2D 및 3D)는 올바른 창에 부모가 되지 않습니다.
  • AppWindow는 에지 제스처가 호출되는 시기를 감지할 수 없습니다.
  • AppWindow는 ActivationViewSwitcher를 통해 활성화 요청을 충족하는 데 사용할 수 없습니다.

속성

Content

창에 현재 연결된 앱 콘텐츠를 가져옵니다.

DispatcherQueue

앱 창에 대한 디스패처 큐를 가져옵니다.

Frame

앱 창의 프레임을 가져옵니다.

IsVisible

디스플레이에서 창을 볼 수 있는지 여부를 나타내는 값을 가져옵니다.

PersistedStateId

상태를 추적하고 저장하기 위해 이 창을 식별하는 문자열을 가져오거나 설정합니다.

Presenter

앱 창의 발표자를 가져옵니다.

Title

앱 창의 표시된 제목을 가져오거나 설정합니다.

TitleBar

앱 창의 제목 표시줄을 가져옵니다.

UIContext

앱 창의 UI 컨텍스트를 가져옵니다.

WindowingEnvironment

앱 창의 창 환경을 가져옵니다.

메서드

ClearAllPersistedState()

지정된 애플리케이션에 대한 모든 창 PersistedStateId에 대해 시스템이 저장한 속성을 지웁니다.

ClearPersistedState(String)

지정된 애플리케이션에 대해 지정된 ID를 사용하여 창에 대해 시스템이 저장한 속성을 지웁니다.

CloseAsync()

앱 창을 닫습니다.

GetDisplayRegions()

앱 창에 사용할 수 있는 표시 영역의 컬렉션을 반환합니다.

GetPlacement()

앱 창의 표시 영역, 오프셋 및 크기를 설명하는 배치 개체를 반환합니다.

RequestMoveAdjacentToCurrentView()

현재 보기 옆에 창을 배치하도록 요청합니다.

RequestMoveAdjacentToWindow(AppWindow)

지정된 앵커 창 옆에 창을 배치하도록 요청합니다.

RequestMoveRelativeToCurrentViewContent(Point)

현재 뷰를 기준으로 지정된 오프셋에 창을 배치하도록 요청합니다.

RequestMoveRelativeToDisplayRegion(DisplayRegion, Point)

지정된 오프셋의 지정된 표시 영역에 창을 배치하도록 요청합니다.

RequestMoveRelativeToWindowContent(AppWindow, Point)

앵커 창을 기준으로 지정된 오프셋에 창을 배치하도록 요청합니다.

RequestMoveToDisplayRegion(DisplayRegion)

지정된 표시 영역에 창을 배치하도록 요청합니다.

RequestSize(Size)

창을 지정된 크기로 설정하도록 요청합니다.

TryCreateAsync()

AppWindow의 새 instance 비동기적으로 만들려고 시도합니다.

TryShowAsync()

현재 앱 창을 비동기적으로 표시하려고 시도합니다.

이벤트

Changed

앱 창의 속성이 변경되면 발생합니다.

Closed

앱 창이 닫혔을 때 발생합니다.

CloseRequested

창이 닫히기 시작한 후 닫히기 전과 Closed 이벤트가 발생하기 전에 발생합니다.

적용 대상