Windows应用商店布局:ListView填充剩余空间

时间:2014-12-04 22:18:51

标签: c# xaml listview windows-store-apps stackpanel

我想让控件一个在另一个之上。其中一个应该在底部,并且它上面应该有一个ListView,它应该填满剩下的所有可用空间。我尝试将它们添加到StackPanel,VerticalAlignment =“Bottom”,但是ListView不可滚动,并且不关心它留下的空间。

enter image description here

1 个答案:

答案 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文档中的备注。