다음을 통해 공유


UIElement.InvalidateArrange 메서드

정의

UIElement의 정렬 상태(레이아웃)를 무효화합니다. 무효화 후 UIElement 의 레이아웃이 업데이트되어 비동기적으로 발생합니다.

public:
 virtual void InvalidateArrange() = InvalidateArrange;
void InvalidateArrange();
public void InvalidateArrange();
function invalidateArrange()
Public Sub InvalidateArrange ()

설명

자체 방향 속성을 유지하는 컨트롤은 새 방향의 레이아웃을 재구성하는 방법으로 방향이 변경될 때 InvalidateArrange를 호출할 수 있습니다. InvalidateArrange는 사용 가능한 크기가 적절하지 않고 논리에서 사용 가능한 크기를 다르게 사용하는 대체 레이아웃 전략을 허용하는 경우와 같은 경우 사용자 지정 레이아웃 논리 내에서 호출될 수도 있습니다.

UpdateLayout 은 기본적으로 InvalidateMeasure 및 InvalidateArrange를 순서대로 호출하는 것과 동일합니다.

레이아웃 업데이트는 기본 제공 레이아웃 시스템 동작에 의존하지 않고 앱 코드에 의해 강제될 수 있습니다. 그러나 일반적으로 권장되지는 않습니다. InvalidateArrange, InvalidateMeasure 또는 UpdateLayout 을 호출하는 것은 일반적으로 불필요하며 과도하게 사용하면 성능이 저하될 수 있습니다. 앱 코드가 레이아웃 속성을 변경할 수 있는 많은 상황에서 레이아웃 시스템은 이미 업데이트를 비동기적으로 처리하고 있을 것입니다. 또한 레이아웃 시스템에는 부모-자식 관계를 통해 레이아웃 변경의 연속을 처리하기 위한 최적화가 있으며, 앱 코드를 사용하여 레이아웃을 강제 적용하면 이러한 최적화에 대해 작동할 수 있습니다. 그럼에도 불구하고 레이아웃 강제 적용이 타이밍 문제 또는 다른 레이아웃 문제를 해결하는 가장 좋은 옵션인 더 복잡한 시나리오에서 레이아웃 상황이 존재할 수 있습니다. 고의적이고 아끼는 용도로 사용하세요.

적용 대상

추가 정보