다음을 통해 공유


Window.SizeChanged 이벤트

정의

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

public:
 virtual event WindowSizeChangedEventHandler ^ SizeChanged;
// Register
event_token SizeChanged(WindowSizeChangedEventHandler 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, WindowSizeChangedEventHandler const& handler) const;
public event WindowSizeChangedEventHandler SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As WindowSizeChangedEventHandler 

이벤트 유형

설명

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

Window.SizeChanged는 사용자가 의도적으로 앱 크기를 조정했거나 방향을 감지하는 PC의 디스플레이를 회전했음을 감지하기 위해 처리할 이벤트입니다. 앱 창이 가로에서 세로 방향으로 또는 그 반대로 변경되었음을 감지할 수 있습니다. 앱 창 방향은 앱 창 내의 개별 컨트롤을 표시하는 방법에 영향을 줄 수 있습니다. 예를 들어 세로 방향은 ListView 에 표시하고 가로 방향은 GridView 로 표시할 수 있습니다. 일반적으로 경계를 기반으로 방향을 결정하기 위해 의 비율을 Window.Current.Bounds.HeightWindow.Current.Bounds.Width 비교하고 Window.SizeChanged가 발생할 때마다 이 작업을 수행합니다. 너비/높이 비율을 정확하게 해석하는 방법은 사용자에게 달려 있습니다.

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

Window.SizeChanged 처리기는 앱 크기를 조정할 수 있는 최소 크기를 적용하는 방법이 아닙니다. 이는 앱 매니페스트에 의해 제어됩니다. 그러나 시각적 상태를 변경하는 논리는 의도한 최소 너비를 위해 설계된 상태를 로드할 수 있어야 하며, 일반적으로 경계 값 및 Window.SizeChanged 처리를 사용하여 앱 창이 최소 너비를 사용하는 경우를 감지합니다.

Window.SizeChanged를 사용하여 앱 창 환경의 변경 내용을 검색하고 앱에 적절한 시각적 상태를 로드하는 방법에 대한 자세한 내용은 빠른 시작: 다양한 창 크기에 맞게 앱 디자인을 참조하세요.

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

적용 대상

추가 정보