UIElement.UpdateLayout 메서드

정의

이 요소의 모든 시각적 자식 요소가 레이아웃용으로 적절하게 업데이트되도록 합니다.Ensures that all visual child elements of this element are properly updated for layout.

public:
 void UpdateLayout();
public void UpdateLayout ();
member this.UpdateLayout : unit -> unit
Public Sub UpdateLayout ()

설명

이 메서드를 호출 하면 IsMeasureValidfalse 또는 IsArrangeValidfalse 있는 요소는 요소 관련 MeasureCoreArrangeCore 메서드를 호출 하 여 레이아웃 업데이트를 강제로 수행 하 고 모든 계산 된 크기의 유효성을 검사 합니다.When you call this method, elements with IsMeasureValidfalse or IsArrangeValidfalse will call element-specific MeasureCore and ArrangeCore methods, which forces layout update, and all computed sizes will be validated.

레이아웃이 변경 되지 않았거나 레이아웃의 정렬과 측정 상태가 모두 잘못 된 경우에는이 메서드를 호출 해도 아무런 효과가 없습니다.Calling this method has no effect if layout is unchanged, or if neither arrangement nor measurement state of a layout is invalid. 그러나 어떤 경우에도 레이아웃이 잘못 된 경우 UpdateLayout 호출은 전체 레이아웃을 다시 실행 합니다.However, if layout is invalid in either respect, the UpdateLayout call will redo the entire layout. 따라서 요소 트리에서 각 증분 및 사소한 변경을 수행한 후 UpdateLayout를 호출 하지 않아야 합니다.Therefore, you should avoid calling UpdateLayout after each incremental and minor change in the element tree. 레이아웃 시스템은 성능과 통화를 분산 하는 알고리즘을 사용 하 여 요소 레이아웃을 지연 된 방식으로 수행 하 고 모든 자식 요소가 유효 해질 때까지 변경 내용에 대 한 변경 내용을 지연 시키는 가중치 전략을 사용 합니다.The layout system will perform element layout in a deferred manner, using an algorithm that balances performance and currency, and with a weighting strategy to defer changes to roots until all child elements are valid. 사용자가 제어 하는 속성의 모든 변경 내용과 레이아웃에 영향을 줄 수 있는 것이 확실 한 경우에만 업데이트 된 크기와 위치가 반드시 필요한 경우에만 UpdateLayout을 호출 해야 합니다.You should only call UpdateLayout if you absolutely need updated sizes and positions, and only after you are certain that all changes to properties that you control and that may affect layout are completed.

적용 대상

추가 정보