UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) Method

정의

UIElementDesiredSize를 업데이트합니다.Updates the DesiredSize of a UIElement. 부모 요소는 재귀적 레이아웃 업데이트를 구성하기 위해 해당 MeasureCore(Size) 구현에서 이 메서드를 호출합니다.Parent elements call this method from their own MeasureCore(Size) implementations to form a recursive layout update. 이 메서드 호출은 레이아웃 업데이트의 첫 번째 단계("측정" 단계)를 구성합니다.Calling this method constitutes the first pass (the "Measure" pass) of a layout update.

public:
 void Measure(System::Windows::Size availableSize);
public void Measure (System.Windows.Size availableSize);
member this.Measure : System.Windows.Size -> unit
Public Sub Measure (availableSize As Size)

매개 변수

availableSize
Size Size Size Size

부모 요소에서 자식 요소를 할당할 수 있는 사용 가능한 공간입니다.The available space that a parent element can allocate a child element. 자식 요소는 사용 가능한 공간보다 큰 공간을 요청할 수 있습니다. 현재 요소에 대한 콘텐츠 모델에서 스크롤이 가능한 경우 제공된 크기를 수용할 수 있습니다.A child element can request a larger space than what is available; the provided size might be accommodated if scrolling is possible in the content model for the current element.

설명

레이아웃 위치에서 계산 WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) 이루어져를 Measure 호출 및 Arrange 호출 합니다.Computation of layout positioning in WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) is comprised of a Measure call and an Arrange call. 중 합니다 Measure 호출에서 요소를 사용 하 여 해당 크기 요구 사항을 결정을 availableSize 입력 합니다.During the Measure call, an element determines its size requirements by using an availableSize input. 중의 Arrange 호출 요소 크기를 최종적으로 마무리 합니다.During the Arrange call, the element size is finalized.

availableSize 무한 0에서 숫자를 수 있습니다.availableSize can be any number from zero to infinite. 레이아웃에 관여 하는 요소가 최소값을 반환 해야 Size 에 대해 필요로 하는 지정 된 availableSize합니다.Elements participating in layout should return the minimum Size they require for a given availableSize.

레이아웃을 처음 인스턴스화될 때 항상 수신한를 Measure 하기 전에 호출 Arrange합니다.When a layout is first instantiated, it always receives a Measure call before Arrange. 그러나 첫 번째 레이아웃 패스 후 받을 수는 Arrange 없이 호출을 Measure; 경우에 영향을 주는 속성을이 발생할 수 있습니다 Arrange (예: 맞춤)을 변경 또는 부모를 받을 때는 Arrange 없이 Measure.However, after the first layout pass, it may receive an Arrange call without a Measure; this can happen when a property that affects only Arrange is changed (such as alignment), or when the parent receives an Arrange without a Measure. A Measure 호출을 자동으로 무효화 됩니다는 Arrange 호출 합니다.A Measure call will automatically invalidate an Arrange call.

레이아웃 업데이트 가능한 모든 레이아웃이 변경에 대 한 주 스레드 기다리고 있지 않으면는 비동기적으로 수행 합니다.Layout updates happen asynchronously, such that the main thread is not waiting for every possible layout change. 코드 숨김 속성 값 확인을 통해 요소 수 즉시 변경 내용을 반영 하지 크기 조정 또는 레이아웃 특성을 사용 하 여 상호 작용 하는 속성 (의 Width 같은 속성).Querying an element via code-behind checking of property values may not immediately reflect changes to properties that interact with the sizing or layout characteristics (the Width property, for example).

참고

레이아웃 업데이트를 사용 하 여 강제로 적용할 수 있습니다는 UpdateLayout 메서드.Layout updates can be forced by using the UpdateLayout method. 그러나이 메서드를 호출 합니다. 일반적으로 필요 하지 않으며 성능이 저하 될 수 있습니다.However, calling this method is usually unnecessary and can cause poor performance.

레이아웃 시스템에 대 한 잘못 된 레이아웃의 두 개의 별도 큐를 유지 Measure 개와 Arrange합니다.The layout system keeps two separate queues of invalid layouts, one for Measure and one for Arrange. 레이아웃 큐는 레이아웃을 수행 하는 요소의 시각적 트리에 있는 요소의 순서에 따라 정렬 됩니다. 트리의 상위 요소가 부모에서 반복적인된 변경 내용이 레이아웃이 중복을 방지 하려면 큐의 맨 위에 있는 합니다.The layout queue is sorted based upon the order of elements in the visual tree of the element performing layout; elements higher in the tree are at the top of the queue, to avoid redundant layouts caused by repeated changes in parents. 중복 항목은 자동으로 큐에서 제거 하 고 요소가 경우 이미 레이아웃 유효성 검사에 자동으로 큐에서 제거 됩니다.Duplicate entries are automatically removed from the queue, and elements are automatically removed from the queue if they are already layout-validated.

레이아웃을 업데이트 하는 경우는 Measure 큐를 비울 먼저 뒤에 Arrange 큐입니다.When updating layout, the Measure queue is emptied first, followed by the Arrange queue. 요소를 Arrange 큐에서 요소 이면 정렬 되지 됩니다는 Measure 큐입니다.An element in the Arrange queue will never be arranged if there is an element in the Measure queue.

적용 대상