이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

FrameworkElement.SizeChanged 이벤트

2013-12-13

FrameworkElementActualHeight 또는 ActualWidth 속성 값이 변경될 때 발생합니다.

Namespace:  System.Windows
어셈블리:  System.Windows(System.Windows.dll)
XMLNS for XAML: xmlns에 매핑되지 않습니다.
public event SizeChangedEventHandler SizeChanged
<frameworkElement SizeChanged="eventhandler"/>

SizeChangedEventHandler를 기반으로 처리기를 사용하여 이 이벤트를 처리합니다.

Windows Phone 레이아웃 시스템은 이 이벤트의 SizeChangedEventArgs 이벤트 데이터 클래스에서 속성을 읽어 보고된 크기 변경 내용을 중요하게 간주해야 하는지 여부를 확인합니다. 이렇게 하면 레이아웃 시스템에서 이전 높이 또는 너비 값과 새 값 간의 육안으로는 식별되지 않는 차이로 인해 레이아웃 변경을 적용하지 않도록 합니다. 예를 들어 부동 소수점 값이 반올림되거나 계산될 경우 차이를 식별하기 어렵습니다.

SizeChanged 이벤트에서는 EventArgs가 아니라 RoutedEventArgs에서 파생된 특수한 이벤트 데이터를 사용하지만, 이벤트가 버블링되지는 않습니다. 즉, 이벤트가 실제 이벤트 경로를 따라 이동하지 않습니다.

필요에 따라 SizeChanged 처리기 내에서 현재 개체의 레이아웃에 영향을 주는 다른 API를 호출할 수도 있습니다. 예를 들어 Height 또는 Width를 설정하거나, InvalidateMeasure 또는 UpdateLayout을 호출하거나, ApplyTemplate을 호출하거나, 자식 요소의 크기를 조정하여 부모 레이아웃을 무효화하는 작업을 수행할 수 있습니다. 레이아웃 엔진에는 많은 루핑 문제를 방지할 수 있는 내부 논리가 있습니다. 하지만 주변 레이아웃과 결합된 처리기 논리가 관련 개체의 크기에 대한 최종 결과에 도달할 수 없는 경우에는 여전히 크기 조정 또는 렌더링 루프를 만들 수 있습니다.

SizeChanged는 개체에서 크기(ActualHeight 또는 ActualWidth)가 변경될 때마다 발생하고, 측정 및 정렬 처리(이러한 개념에 대한 자세한 내용은 Windows Phone의 레이아웃 참조)가 완료된 후에 발생합니다. 부모 컨테이너 내에 있는 개체의 위치가 변경되지만 크기는 변경되지 않는 경우 SizeChanged가 발생하지 않습니다.

LayoutUpdated도 유사한 이벤트이나 LayoutUpdated는 위치가 변경될 때도 발생합니다. 또한 LayoutUpdated 발생 범위는 특정 개체의 레이아웃 속성으로 제한되지 않으며, 개체가 포함된 전체 시각적 트리에 대해 보고됩니다. LayoutUpdated는 개체를 포함하는 전체 시각적 트리 내에서 특정 부분이 변경되었지만 처리기가 연결된 개체의 레이아웃 세부 정보(크기, 위치)가 변경되지 않았음을 알려 줍니다.

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2014 Microsoft. All rights reserved.