#1,167 – Layout in Action, part IV
September 26, 2014 Leave a comment
The previous example showed how layout works when a child element needs less space than what it is available. Below, we walk through the case when the child needs more space than what’s available.
Assume that we have a Label with more content than will fit into a containing StackPanel (which sizes to fit a containing window). At run-time, the measure/arrange process is:
- StackPanel calls Measure on the label, passing in its own width as a constraint width and infinity as a constraint height.
- Label can’t fit into specified constraint width, so it returns a size from MeasureOverride with width equal to constraint width (it takes what it can get) and height to fit its desired height
- StackPanel gives the label this requested height and width
- StackPanel calls Arrange on MyLabel, which uses specified size to render label