3

我有以下网格:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Border Height="50" Background="Gainsboro" Grid.Row="0"/>
    <Border Background="AliceBlue" Grid.Row="1">
        <ListBox ScrollViewer.VerticalScrollBarVisibility="Auto" ItemsSource="asdasdfasdf3dfasdf"/>
    </Border>
    <Border Height="60" Background="Aquamarine" Grid.Row="3"/>
</Grid>

为什么没有启用 ListBox 的滚动查看器?最后一个边框被推出窗口。如果我将 Grid.Row 2 Height 设置为 * 星 - 它工作得很好。是否可以在自动高度网格行中使用带有滚动查看器的列表框?

4

1 回答 1

3

Auto使您的控件根据需要调整大小。因此,您ListBox将自行调整大小以显示其所有内容,并且永远不会显示滚动条。

*使您的控件采用可用大小,并且不会超出此范围。

您需要做的是定义 的MaxHeight属性ListBox*用作 中的高度RowDefinition

于 2012-05-25T10:26:56.160 回答