Window 클래스

정의

애플리케이션 창을 나타냅니다.

public ref class Window sealed
/// [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 Window final
[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 Window
Public NotInheritable Class Window
상속
Object IInspectable Window
특성

Windows 요구 사항

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

예제

다음 코드 예제에서는 Microsoft Visual Studio의 OnLaunched 빈 애플리케이션 템플릿에 대해 생성된 메서드 재정의를 보여줍니다. 이 코드는 속성 ActivateContent 메서드에 Current 대한 일반적인 사용 패턴을 보여 줍니다.

protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    // Create a Frame to act navigation context and navigate to the first page
    var rootFrame = new Frame();
    rootFrame.Navigate(typeof(BlankPage));

    // Place the frame in the current Window and ensure that it is active
    Window.Current.Content = rootFrame;
    Window.Current.Activate();
}
Protected Overrides Sub OnLaunched(args As 
    Windows.ApplicationModel.Activation.LaunchActivatedEventArgs)

    ' Create a Frame to act navigation context and navigate to the first page
    Dim rootFrame As New Frame()
    rootFrame.Navigate(GetType(BlankPage))

    ' Place the frame in the current Window and ensure that it is active
    Window.Current.Content = rootFrame
    Window.Current.Activate()
End Sub

설명

이 클래스는 현재 Application. 정적 속성과 동일한 방식으로 정적 Application Current 속성은 앱 창 개체를 반환합니다. 이 개체에서 앱은 속성에서 Dispatcher Bounds Window의 크기를 활용하거나 확인할 수 있습니다. Window의 가장 일반적인 사용법은 앱 UI를 UIElement 나타내는 값 Content 으로 설정하는 것입니다. 이 작업은 일반적으로 앱 활성화의 일부로 수행됩니다(예: 재정의 OnLaunched ). 창의 수명 동안 이 창 콘텐츠를 변경할 수 있습니다.

Window 클래스는 컨트롤이 아니므로 XAML 표현이 없습니다.

Window 개체는 시스템에서 만든 창을 참조하는 정보 CoreWindow만 표시합니다.

초기 활성화에 사용하는 모든 창에서 호출 Activate 해야 합니다. Microsoft Visual Studio의 기본 앱 템플릿을 사용하는 경우 호출 Window.Activate 은 app.xaml 코드 숨김 파일의 초기 코드에 속합니다.

Microsoft Visual Studio의 일부 애플리케이션 템플릿에 포함된 LayoutAwarePage 클래스는 이벤트에 대한 SizeChanged 처리를 하며, 이 이벤트는 값 ApplicationViewState과 일치하는 시각적 상태를 추적하는 데 사용됩니다. LayoutAwarePage에는 이 값을 확인하고 Bounds 사용하여 페이지 전체 입력 이벤트가 처리되는 방식에 영향을 주는 코드도 있습니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1703 15063 Compositor
1903 18362 UIContext

속성

Bounds

Rect 유효(보기) 픽셀 단위로 애플리케이션 창의 높이와 너비를 포함하는 값을 가져옵니다.

Compositor

이 창의 Compositor 값을 가져옵니다.

Content

애플리케이션 창의 시각적 루트를 가져오거나 설정합니다.

CoreWindow

애플리케이션 창에 대한 내부 코어 개체를 가져옵니다.

Current

현재 스레드의 창을 가져옵니다.

Dispatcher

CoreDispatcher 일반적으로 CoreDispatcher UI 스레드의 Window개체인 개체를 가져옵니다.

UIContext

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

Visible

창이 표시되는지 여부를 보고하는 값을 가져옵니다.

메서드

Activate()

애플리케이션 창을 포그라운드로 가져오고 입력 포커스를 설정하여 애플리케이션 창을 활성화하려고 시도합니다.

Close()

애플리케이션 창을 닫습니다.

SetTitleBar(UIElement)

XAML 요소가 제목 표시줄인 것처럼 시스템과 상호 작용하게 합니다.

이벤트

Activated

창이 성공적으로 활성화되었을 때 발생합니다.

Closed

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

SizeChanged

앱 창이 처음 렌더링되었거나 렌더링 크기를 변경한 경우에 발생합니다.

VisibilityChanged

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

적용 대상

추가 정보