我有一个网格,我想要两行,这样下排高52像素,上排高度占据剩余空间。例如,如果网格的高度为100像素,则上排为48像素,下排为52像素。
Grid的高度保证至少为53像素。目前,我的XAML代码如下:
<Grid Height="{TemplateBinding Height}">
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="52"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
<ColumnDefinition Width="0.5*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0">Upper</TextBlock>
<TextBlock Grid.Row="0" Grid.Column="1">Upper</TextBlock>
<StackPanel Grid.Row="1" Grid.Column="0" Background="#1CFFFFFF">
<TextBlock>Lower</TextBlock>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="1" Background="#1CFFFFFF">
<TextBlock>Lower</TextBlock>
</StackPanel>
</Grid>
问题是上面的行只需要amonut来显示TextBlocks,而下面一行的StackPanel会拉伸以填充网格的高度。这是自定义控件的一部分,因此网格的高度设置为{TemplateBinding Height}
。
我确实需要将下排的内容作为StackPanels。
从我身边试图没有工作:
Orientation
参数尝试不同的值[虽然不知道我为什么这样做]。MaxHeight
,MinHeight
设置为第二个RowDefinition
上的52。非常感谢任何帮助。