I have the following grid as the LayoutRoot control in my Silverlight page:
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="*" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
The entire contents of the second row is a datagrid populated via data binding, and the total height of the grid is large, maybe 3000 pixels. My understanding is that by doing the row definitions in this way, the first and third rows should have the same height and always remain visible (like header and footer rows) while the second row should be sized to the total height minus 60 for the other rows. But what actually happens is that the second row is taking up the full 3000 pixels, not showing a vertical scroll bar, and pushing the footer row past the bottom of the control. This is what Height="Auto" should do, I think, NOT what Height="*" should do.
What am I missing here? Thanks!
Update: The problem turned out to be that my grid was in a navigation page which was embedded in a main page, because I accepted the default Silverlight project template. This main page was laid out to allow expanding to content, by putting everything in a StackPanel. It doesn't appear that you actually need to set the Horiontal and Vertical alignment properties to Stretch. When I replaced the StackPanel with a grid, and set the inner grid row height to *, it worked as intended.