【发布时间】:2014-12-04 22:18:51
【问题描述】:
我想要一个在另一个之上的控件。其中一个应该在底部,并且上面应该有一个 ListView,它应该会填满剩余的所有可用空间。我尝试将它们添加到 StackPanel,使用 VerticalAlignment="Bottom",但是 ListView 不可滚动,并且不关心它剩余的空间。
【问题讨论】:
标签: c# xaml listview windows-store-apps stackpanel
我想要一个在另一个之上的控件。其中一个应该在底部,并且上面应该有一个 ListView,它应该会填满剩余的所有可用空间。我尝试将它们添加到 StackPanel,使用 VerticalAlignment="Bottom",但是 ListView 不可滚动,并且不关心它剩余的空间。
【问题讨论】:
标签: c# xaml listview windows-store-apps stackpanel
StackPanel 将格式化以适应其内容,为 ListView 提供无限空间,然后跟踪其他控件,可能超出可见范围。而是使用网格并设置行高以匹配您的设计。比如:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ListView Grid.Row="0"></ListView>
<Button Grid.Row="1" />
</Grid>
Height="auto" 表示根据内容计算高度。 Height="*" 表示使用剩余空间(或者如果有多个 * 则将剩余空间分开)。有关详细信息,请参阅RowDefinition.Height 文档中的备注。
【讨论】: