Я заметил, что Android, WPF и Silverlight следуют шаблону двухпроходного макета. Существует рекурсивный метод Measure(), который вызывается для определения размера элемента, возможно, несколько раз. Затем вызывается рекурсивный метод Layout/Arrange(), который определяет точное положение детей в их родительском элементе управления и также устанавливает конечный размер элемента управления.
Мой вопрос: почему это разделение на два прохода, особенно если для некоторых типов элементов управления Measure() не может вычислить фактический размер элемента управления, не устанавливая положения детей? Есть ли какой-то тип макета меньшинства, который стал возможным благодаря этому?
Я пытаюсь создать свой собственный инструментарий пользовательского интерфейса, и в настоящее время я склоняюсь к шаблону Layout() с одним проходом, но я хотел бы убедиться, насколько это разумно или нет.
Спасибо за это:)
Шон