다음을 통해 공유


FrameworkElement.MeasureOverride(Size) 메서드

정의

파생 클래스에서 재정의된 경우 자식 요소에 필요한 레이아웃의 크기를 측정하고 FrameworkElement 파생 클래스의 크기를 결정합니다.

protected:
 virtual System::Windows::Size MeasureOverride(System::Windows::Size availableSize);
protected virtual System.Windows.Size MeasureOverride (System.Windows.Size availableSize);
abstract member MeasureOverride : System.Windows.Size -> System.Windows.Size
override this.MeasureOverride : System.Windows.Size -> System.Windows.Size
Protected Overridable Function MeasureOverride (availableSize As Size) As Size

매개 변수

availableSize
Size

이 요소가 자식 요소에 제공할 수 있는 사용 가능한 크기입니다. 값으로 무한대를 지정하면 사용할 수 있는 콘텐츠에 따라 요소 크기가 지정됩니다.

반환

Size

이 요소에서 자식 요소 크기 계산에 따라 레이아웃 중에 필요하다고 결정하는 크기입니다.

설명

Windows Presentation Foundation(WPF) 레이아웃 시스템에 참여할 때 요소에 대한 사용자 지정 레이아웃 크기 조정 동작을 구현하도록 재정 MeasureOverride 의합니다. 구현은 다음을 수행해야 합니다.

  1. 레이아웃의 일부인 요소의 특정 자식 컬렉션을 반복하고 각 자식 요소를 호출 Measure 합니다.

  2. 즉시 자식에 가져옵니다 DesiredSize (호출된 후 Measure 속성으로 설정됨).

  3. 자식 요소의 측정값에 따라 부모의 원하는 순 크기를 계산합니다.

반환 값 MeasureOverride 은 요소의 원하는 크기여야 합니다. 그러면 현재 요소의 부모 요소에 대한 측정값 입력이 됩니다. 이 동일한 프로세스는 페이지의 루트 요소에 도달할 때까지 레이아웃 시스템을 통해 계속됩니다.

이 프로세스 중에 자식 요소는 초기 availableSize 보다 더 큰 DesiredSize 크기를 반환하여 자식 요소가 더 많은 공간을 원한다는 것을 나타낼 수 있습니다. 이는 스크롤 가능한 영역을 도입하거나, 부모 컨트롤의 크기를 조정하거나, 누적 순서를 설정하거나, 콘텐츠를 측정하거나 정렬하기 위한 솔루션 수를 설정하여 사용자 고유의 구현에서 처리될 수 있습니다.

중요

요소가 이 프로세스 중에 각 자식에 대해 호출 Measure 되어야 합니다. 그렇지 않으면 자식 요소의 크기가 올바르게 조정되거나 정렬되지 않습니다.

상속자 참고

다음 비 컴파일 코드는 이 구현 패턴을 보여 줍니다. VisualChildren 는 사용자 고유의 요소가 정의해야 하는 자식의 열거 가능한 컬렉션 속성을 나타냅니다. 속성의 이름은 무엇이든 지정할 수 있습니다. VisualChildren 는 이 예제의 목적에 대한 자리 표시자 이름입니다. VisualChildren 는 WPF에서 제공하는 API 또는 명명 패턴의 일부가 아닙니다.

적용 대상