다음을 통해 공유


UIElement.ArrangeCore(Rect) 메서드

정의

WPF 핵심 수준 정렬 레이아웃 정의에 대한 서식 파일을 정의합니다.

protected:
 virtual void ArrangeCore(System::Windows::Rect finalRect);
protected virtual void ArrangeCore (System.Windows.Rect finalRect);
abstract member ArrangeCore : System.Windows.Rect -> unit
override this.ArrangeCore : System.Windows.Rect -> unit
Protected Overridable Sub ArrangeCore (finalRect As Rect)

매개 변수

finalRect
Rect

요소가 자신과 자식을 정렬하는 데 사용해야 하는 부모 내의 마지막 영역입니다.

예제

ArrangeCore 구현은 기본 구현을 호출하여 크기를 반환한 다음 표시되는 각 자식 요소의 메서드를 호출 Arrange 하고 이러한 Arrange 호출에서 반환되는 크기를 기본 구현의 크기와 조정해야 합니다. 구현의 조정 측면에 대한 논리는 요소의 ArrangeCore 레이아웃 특성에 따라 달라질 수 있습니다. 다음 예제 템플릿 VisualChildren 에서는 요소가 콘텐츠를 UIElement 열거하는 데 도움이 되도록 정의할 수 있는 가상 속성입니다. 이 수준에서 콘텐츠 컬렉션을 정의하지 않는 WPF 프레임워크 수준 아키텍처는 특정 컨트롤 또는 컨트롤 기본 클래스와 같은 파생 요소에 대한 콘텐츠 동작을 지연시킵니다.

protected override void ArrangeCore(Rect finalRect)
{
     //Call base, it will set offset and RenderBounds to the finalRect:
     base.ArrangeCore(finalRect);
     foreach (UIElement child in VisualChildren)
     {
         child.Arrange(new Rect(childX, childY, childWidth, childHeight));
     }
 }
Protected Overrides Sub ArrangeCore(ByVal finalRect As Rect)
     'Call base, it will set offset and RenderBounds to the finalRect:
     MyBase.ArrangeCore(finalRect)
     For Each child As UIElement In VisualChildren
         child.Arrange(New Rect(childX, childY, childWidth, childHeight))
     Next child
End Sub

설명

참고

이 메서드를 재정의하는 것은 WPF 코어 수준에서 파생되고 WPF 프레임워크 수준 레이아웃 시스템 및 FrameworkElement 파생 클래스 FrameworkElement 를 사용하지 않는 경우에만 적합합니다 ArrangeCore. WPF 프레임워크 수준 레이아웃 시스템을 사용하는 경우 클래스별 레이아웃 정렬 동작을 재정의하는 적절한 방법은 다음과 같습니다 ArrangeOverride.

상속자 참고

WPF 코어 수준에서 요소를 개발하는 경우 WPF 코어 수준 요소에 고유한 정렬 레이아웃 동작을 제공하거나 요소의 자식 요소에 대한 적절한 레이아웃 결정을 내리도록 이 메서드를 재정의해야 합니다. 이러한 자식 요소가 정의된 패턴(예: .)에서 인식할 수 없는 경우 재정의가 ItemCollection필요할 수 있습니다.

부모 요소는 각 자식 요소에서 클래스별 Arrange(Rect) 클래스를 호출해야 합니다. 그렇지 않으면 해당 자식 요소가 렌더링되지 않습니다.

적용 대상