2009-06-08 2 views
1

Кажется, что конечная ширина (или высота), прошедшая в метод ArrangeOverride, никогда не меньше требуемой ширины (или высоты), возвращаемой методом MeasureOverride.WPF ArrangeOverride question

Всегда ли это?

ответ

2

Я полагаю, что вы можете предположить, что окончательный размер, пройденный, будет меньше или равен желаемого размера, но не всегда точного размера. Упорядочить после того, как он примет решение о фактических размерах вещей, будет, как правило, фактическими значениями (в отличие от измерения, где + Inf является общим)

+1

Мне кажется, что конечный размер, переданный в ArrangeOverride, основан на том, что я возвращаю в MeasureOverride. Если я верну фиктивное значение (например, высота 10 000), которое будет передано ArrangeOverride, даже жесткое мое приложение. Высота окна - всего несколько пикселей. – 2009-06-08 05:02:57

+1

Это зависит от контейнера, на котором была ваша панель - если вы в ScrollViewer, например, он даст вам всю комнату, которую вы хотите. –

+0

Как говорит Павел, контейнер имеет значение. Я столкнулся с той же проблемой, что и в вопросе. Затем я заменил контейнер с StackPanel на Grid, и вдруг ArrangeOverride начал вести себя так, как ожидалось. –