我在另一个Grid中有一个动态扩展的Grid,它被分成4行4列。
我的主要内容网格跨越4行和2列,并动态加载不同的视图,有时会扩展高度。我的问题是,其他行也会扩展,虽然它们有一个固定的高度,这使得布局看起来很奇怪。
我想保留所有的行'高度为36,但只是展开最低行,以便显示我网格的所有内容。
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="45" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="70" />
<ColumnDefinition Width="110" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="36" />
<RowDefinition Height="36" />
<RowDefinition Height="36" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.Column="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
FontSize="14"
Content="X">
</Button>
<Grid x:Name="MainPaymentContentRoot"
Grid.Row="0"
Grid.RowSpan="4"
Grid.Column="1"
Grid.ColumnSpan="2"
Margin="20,0,0,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollMode="Auto">
</Grid>
<TextBlock Text="MyField" Grid.Row="0" Grid.Column="3" Margin="10,0,0,0" VerticalAlignment="Center" />
<Button Grid.Row="1" Grid.Column="3" Margin="10,0,0,0"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Right"
Content="AnotherButton">
</Button>
</Grid>
这是Win 8开发。
答案 0 :(得分:0)
目前,您的RowDefinition
设置为Auto
。这意味着该行将计算内容大小,并相应地调整其高度。
您需要将其更改为Height="*"
。
<RowDefinition Height="*" />
这会强制RowDefinition
扩展到父级的高度。换句话说,它将占用所有可用空间。