Let TextBox stretch to fill width in StackPanel
microsoft-metro, stackpanel, textbox, windows-runtime, xaml
Solution
Unfortunately the alternative (DockPanel) isnt available for Metro. You could try a WrapGrid, but I dont know if it'll solve your problem (Ive never used it).
The only real way of doing this is using a Grid as you described:
<Grid Width="400">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="Label" Width="150" />
<TextBox Text="Value" Grid.Column="1" />
</Grid>
Problem
I have a `StackPanel` in my WinRT C# Metro app that I want to use as container for a label/value pair (`TextBlock` and `TextBox`) like this: ``` <StackPanel Orientation="Horizontal" Width="400"> <TextBlock Text="Label" Width="150" /> <TextBox Text="Value" /> </StackPanel> ``` Now what I want is to let the TextBox automatically fill the remaining horizontal space of the StackPanel. Is this possible in any way? `HorizontalAlignment`/`HorizontalContentAlignment` don't work. I know that an alternative would be to define a `Grid` for that. The problem is that I have this construct several times and want to use it in a `Style` definition. I don't want to define the Grid's definition with rows and columns x times... Perhaps the alternative would be to define a custom user control, but I hoped there would be an easy possibility to get the `TextBox` to stretch.