UIElement.ArrangeCore(Rect) 메서드

정의

WPF 핵심 수준 정렬 레이아웃 정의에 대한 서식 파일을 정의합니다.Defines the template for WPF core-level arrange layout definition.

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

요소가 자신과 자식을 정렬하는 데 사용해야 하는 부모 내의 마지막 영역입니다.The final area within the parent that element should use to arrange itself and its child elements.

예제

ArrangeCore 구현에서는 기본 구현을 호출 하 여 크기를 반환한 다음, 표시 되는 각 자식 요소의 Arrange 메서드를 호출 하 고, 이러한 Arrange 호출에서 반환 되는 크기를 기본 구현 크기와 조정 해야 합니다.ArrangeCore implementations should call the base implementation to return a size, then call the Arrange method of each visible child element, and reconcile the sizes returned by these Arrange calls with the size of the base implementation. ArrangeCore 구현의 조정 측면에 대 한 논리는 요소의 레이아웃 특성에 따라 달라질 수 있습니다.The logic for the reconciliation aspect of a ArrangeCore implementation might vary, depending on the layout characteristics of your element. 다음 예제 템플릿에서 VisualChildren는 요소가 콘텐츠를 열거 하는 데 도움이 되도록 정의 될 수 있는 가상 속성입니다. 이 수준에서 콘텐츠 컬렉션을 정의 하지 않는 UIElement WPF 프레임 워크 수준 아키텍처는 특정 컨트롤 또는 컨트롤 기본 클래스와 같은 파생 된 요소에 대 한 콘텐츠 동작을 지연 시킵니다.In the following example template, VisualChildren is a hypothetical property that your element might define to help enumerate its content; UIElement does not define content collections at this level, the WPF framework-level architecture defers content behavior to derived elements such as specific controls or control base classes.

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 core 수준에서 파생 하는 경우에만 적합 하며, FrameworkElement 봉인 ArrangeCore때문에 WPF 프레임 워크 수준 레이아웃 시스템 및 FrameworkElement 파생 클래스를 사용 하지 않습니다.Overriding this method is only appropriate if you are deriving at the WPF core-level, and you are not using the WPF framework-level layout system and FrameworkElement derived class, because FrameworkElement seals ArrangeCore. WPF 프레임 워크 수준 레이아웃 시스템을 사용 하는 경우 클래스 관련 레이아웃 정렬 동작을 재정의 하는 적절 한 메서드를 ArrangeOverride합니다.If you are using the WPF framework-level layout system, the appropriate method to override for class-specific layout arrange behavior is ArrangeOverride.

상속자 참고

WPF 핵심 수준 요소를 개발 하는 경우이 재정의 해야 하는 고유한 WPF 핵심 수준 요소를 제공 하는 방법 정렬 레이아웃 동작을 또는 적절 한 레이아웃을 확인 하 여 요소의 자식 요소에 대 한 결정 합니다.If you are developing elements at the WPF core level,you should override this method to give your WPF core-level element a unique arrange layout behavior, or to make proper layout decisions about the child elements of your elements. ItemCollection와 같은 정의 된 패턴에서 자식 요소를 인식할 수 없는 경우 재정의가 필요할 수 있습니다.An override might be necessary if those child elements are not recognizable from a defined pattern such as an ItemCollection.

부모 요소는 각 자식 요소에 대해 클래스 관련 Arrange(Rect)를 호출 해야 합니다. 그렇지 않으면 자식 요소가 렌더링 되지 않습니다.A parent element must call the class-specific Arrange(Rect) on each child element, otherwise those child elements are not rendered.

적용 대상