У меня есть вертикальная StackPanel с двумя элементами: Button и ListBox. Как я могу растянуть ListBox на оставшуюся высоту страницы?Silverlight: растягивается до оставшегося пространства в StackPanel
<StackPanel Height="Auto" Width="Auto">
<Button Height="30" Width="100" Content="Get Content" x:Name="GetContent"/>
<ListBox Height="Auto" Width="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
</StackPanel>
Обратите внимание, что я получил эту работу с помощью сетки контейнера:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Width="100" Height="30" Content="Get Content" Click="OnGetContent" Grid.Row="0" Grid.Column="0"/>
<data:DataGrid x:Name="MyContent" Margin="0,5" Grid.Row="1" Grid.Column="0"/>
</Grid>
Спасибо за ответ. Небольшая проблема заключается в том, что DockPanel недоступен (пока?) По умолчанию и вам нужен Silverlight Toolkit. Мне показалось странным, хотя, хотя Grid действительно обеспечивает высоту = «*» (использовать оставшееся пространство/добавить растянутую), простой StackPanel этого не делает. –
Я нашел DockPanel лучшим решением здесь, так как у меня было 2 datagrids внутри Scrollviewer, и это единственное, что сработало. – Rodney
+1 для LastChildFill = "True" – sean717