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 core 수준에서 요소를 개발 하는 경우이 메서드를 재정의 하 여 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.

적용 대상