我想让控件一个在另一个之上。其中一个应该在底部,并且它上面应该有一个ListView,它应该填满剩下的所有可用空间。我尝试将它们添加到StackPanel,VerticalAlignment =“Bottom”,但是ListView不可滚动,并且不关心它留下的空间。
答案 0 :(得分:3)
StackPanel将格式化以适应其内容,为ListView提供无限空间,然后在可能的边界之外添加其他控件。而是使用网格并设置行高以匹配您的设计。类似的东西:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ListView Grid.Row="0"></ListView>
<Button Grid.Row="1" />
</Grid>
高度=“自动”表示根据内容计算高度。高度=“*”表示使用剩余空间(或者如果有多个* s则将剩余空间分开)。有关更多详细信息,请参阅RowDefinition.Height文档中的备注。