정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

FrameworkElement.SizeChanged 이벤트

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

네임스페이스:  System.Windows
어셈블리:  System.Windows(System.Windows.dll)

public event SizeChangedEventHandler SizeChanged
<frameworkElement SizeChanged="eventhandler"/>

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

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

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

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

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

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

Silverlight

5, 4, 3에서 지원

Windows Phone용 Silverlight

Windows Phone OS 7.1, Windows Phone OS 7.0에서 지원

Silverlight에서 지원되는 운영 체제 및 브라우저에 대한 자세한 내용은 지원되는 운영 체제 및 브라우저을 참조하십시오.

커뮤니티 추가 항목

표시:
© 2014 Microsoft