Hi,
Why doesn't a texbox stretch to fill space in a stackpanel??
Is this by design??
In a grid its fine.
Malcolm
Hi,
Why doesn't a texbox stretch to fill space in a stackpanel??
Is this by design??
In a grid its fine.
Malcolm
Yes, it's by design. The StackPanel
will allocate the space the TextBox
asks for. If you haven't set a width on the TextBox
, it will require only enough width to fit its text.
HTH, Kent
Kent's answer seems right.
To still force override the StackPanel behavior, I think you'd need to dynamically compute-set the Width property of the contained elements OR some funky override of MeasureOverride. I'd rather use another layout manager/panel. Some things I noted..
The StackPanel will stretch elements based on its Orientation property value. So
The default value is stretch for both HorizontalAlignment and VerticalAlignment of content that is contained in a StackPanel.
When Height and Width properties are explicitly set on an element, these measurements take higher precedent during layout and will cancel the typical effects of setting HorizontalAlignment to Stretch.
I needed items to be sized evenly, but stacked vertically.
I used a UniformGrid, and set the Columns property to 1. (tested with a TextBox, and it stretches like you want)