2011-01-16 3 views
1

저는 게임을위한 WPF의 Measure and Arrange 레이아웃 시스템에 크게 영향을받은 GUI 시스템을 구현했습니다. DockPanels 및 StackPanels에서 제대로 작동하지만 최근에 WrapPanels를 사용해야했습니다. 나는 현재의 상태에서 조상을 기반으로 최대 사용 가능한 크기를 알아야하기 때문에 GUI 시스템에서 래핑을 지원할 수 없다는 것을 알았고 현재 그 정보없이 내 측정이 수행됩니다.WPF의 측정 크기 제한은 어떻게 작동합니까?

WPF 설명서를 확인한 결과 해당 Measure 메서드가 크기 제한을 매개 변수로 사용한다는 것을 알게되었습니다 : Size Measure(Size availableSize). 이 퍼즐. WPF는 먼저 잎에서 루트까지 측정 한 다음 루트에서 잎까지 배열을 측정합니다. 그러나이 경우 측정 단계에서 조상의 사용 가능한 크기가 필요합니다. 조상의 크기가 자손의 크기에 달려 있기 때문에 이것은 모순적인 것처럼 보입니다.

WPF는 측정 경로에서이 availableSize 값을 어떻게 제공합니까?

답변

2

나는 당신의 이해가 정확하지 않다고 생각합니다. 뿌리부터 잎이 아니라 뿌리부터 잎까지입니다. 실제로, 자신의 소책자 통과 기간에 자녀에게 Measure()으로 전화하는 것은 학부모 관리의 책임입니다. 따라서 부모는 자녀가 사용할 수있는 공간의 양을 파악할 수 있으며 측정 할 때이를 통과시킬 수 있습니다.

+0

의미가 있습니다. :) – Trillian