언어

Window.SizeChanged 이벤트

정의

창의 렌더링 크기가 변경될 때 발생합니다.

// Register
event_token SizeChanged(TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void SizeChanged(event_token const* cookie) const;

// Revoke with event_revoker
Window::SizeChanged_revoker SizeChanged(auto_revoke_t, TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<object,WindowSizeChangedEventArgs> SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As TypedEventHandler(Of Object, WindowSizeChangedEventArgs) 

이벤트 유형

설명

이 이벤트는 창에 대한 경계 값이 변경 될 때마다 발생 합니다 . 이는 사용자가 앱의 크기를 조정하거나 앱이 최대화되는 동안 표시 방향을 변경하기 때문일 수 있습니다. 또 다른 트리거는 사용자가 다른 해상도의 새 디스플레이로 앱을 이동하는 경우입니다.

창 크기가 SizeChanged 변경되면 요소를 이동하는 것과 같이 앱 UI에서 항목을 관리하기 위한 이벤트를 처리합니다. XAML은 실제 물리적 픽셀이 아닌 유효 픽셀(epx)을 사용합니다. 유효 픽셀은 측정의 가상 단위이며 화면 밀도와 관계없이 레이아웃 차원과 간격을 표현하는 데 사용됩니다. 범위 높이 및 너비 값은 WindowSizeChangedEventArgs 높이 및 너비 값과 동일하므로 이벤트 처리기에서 사용할 수 있습니다.

자세한 내용은 WinUI 및 Windows 앱 SDK 대한 Windowing 개요를 참조하세요.

FrameworkElement.Loaded 이벤트에 대한 SizeChanged 처리기 내에서 Page 수준에서 처리기를 연결하는 경우 해당 페이지에서FrameworkElement.Unloaded 이벤트 처리기의 처리기를 분리해야 합니다. Window 인스턴스는 페이지 탐색 간에 활성 상태로 유지되며 가장 최신 페이지 코드에 대해 활성 처리기만 있어야 합니다.

오리엔테이션

창이 가로 방향에서 세로 방향으로 또는 그 반대로 변경되었음을 감지할 수 있습니다. 창 방향은 앱 내의 개별 컨트롤을 표시하는 방법에 영향을 줄 수 있습니다. 예를 들어 세로 방향의 경우 ListView 에 데이터 목록을 표시하고 가로 방향으로 는 GridView 에 표시할 수 있습니다. 일반적으로 창 범위를 기반으로 방향을 결정하기 위해 대/소문자의 WidthHeight 비율을 비교하며, 발생할 때마다 Window.SizeChanged 이 작업을 수행합니다. 비율을 해석 Width/Height 하는 방법은 사용자에게 달려 있습니다.

최소 및 최대 크기

처리기를 SizeChanged 사용하여 앱 크기를 조정할 수 있는 최소 또는 최대 크기를 적용하지 마세요. 대신 다음 OverlappedPresenter 속성을 사용합니다.

그러나 시각적 상태를 변경하는 논리는 의도한 최소 너비에 맞게 설계된 상태를 로드할 수 있어야 하며, 일반적으로 경계 값 및 Window.SizeChanged 처리를 사용하여 앱 창에서 최소 너비를 사용하는 경우를 감지합니다.

Window.SizeChanged 를 사용하여 앱 창 환경의 변경 내용을 검색하고 앱에 적절한 시각적 상태를 로드하는 방법에 대한 자세한 내용은 XAML을 사용하여 반응형 레이아웃을 참조하세요.

기타 크기 변경 이벤트

크기 변경을 감지하는 데 사용할 수 있는 다른 여러 이벤트가 있습니다.

AppWindow

AppWindow 클래스에는 이벤트 인수에 대한 DidSizeChange 값이 있는 Changed 이벤트가 있습니다.

XAML Window 클래스와 달리 AppWindow는 기본 측정 단위가 물리적 디바이스 픽셀인 창 좌표계를 사용합니다. 따라서 창 크기를 조정하거나 화면의 다른 항목과 관련하여 이동하는 등의 창 작업에 AppWindow API를 사용합니다.

FrameworkElement

FrameworkElement 파생 형식에 존재하는 SizeChanged라는 또 다른 이벤트가 있습니다(WindowFrameworkElement 형식이 아님). FrameworkElement.SizeChanged 이벤트는 여러 동일한 상황에서 Window.SizeChanged 발생할 수 있습니다. 앱 창 크기가 변경되면 루트 시각적 요소(일반적으로 페이지 또는 패널)의 크기가 변경될 수 있습니다. 이렇게 하면 적응형 레이아웃을 사용하여 사용 가능한 공간을 채우는 하위 요소에 대한 레이아웃 무효화가 연속적으로 수행됩니다. 레이아웃 패스로 인해 새 차원이 있는 각 요소는 자체 FrameworkElement.SizeChanged 이벤트를 발생합니다.

적용 대상

추가 정보