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 ()

설명

이 메서드를 호출 하면 또는를 사용 하는 요소가 IsMeasureValid false IsArrangeValid false 요소 관련 MeasureCore 및 메서드를 호출 하 여 ArrangeCore 레이아웃 업데이트를 강제로 수행 하 고 모든 계산 된 크기의 유효성을 검사 합니다.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.

적용 대상

추가 정보