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のscrollviewerが有効になっていないのはなぜですか?最後の境界線がウィンドウから押し出されます。Grid.Row2の高さを*starに設定すると、うまく機能します。自動高さグリッド行にscrollviewerを備えたリストボックスを作成することは可能ですか?

4

1 に答える 1

3

Auto必要に応じてコントロールのサイズを変更します。したがって、ListBoxすべてのコンテンツを表示するようにサイズが変更され、スクロール バーが表示されることはありません。

*コントロールが利用可能なサイズを取るようにし、それを超えて拡大することはありません。

必要なことは、 のMaxHeightプロパティを定義するか、 で高さとしてListBox使用することです。*RowDefinition

于 2012-05-25T10:26:56.160 に答える