在 WPF 中重新调整 window 大小时如何让列表视图自动调整高度
How to get List-views to automatically adjust height when the window is re-sized in WPF
我无法让两个 ListView 将它们的高度调整到包含 window。我在它们之间使用 GridSplitter。当我拖动 GridSplitter 时,我希望一个 ListView 缩小,一个扩大。
这是精简的 xaml 代码。
<Grid x:Name="Gridthing">
<Grid.RowDefinitions>
<RowDefinition Height="150"/>
<RowDefinition Height="10"/>
<RowDefinition Height="150"/> <!--bottom-->
</Grid.RowDefinitions>
<ListView Name="Things1" Grid.Row="0"/>
<GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="LightGray"></GridSplitter>
<ListView Name="Things2" Grid.Row="2"/>
</Grid>
但是在这个例子中,底部的 ListView 总是 150 高,无论 window 设置的是什么尺寸。
现在我已经可以听到一千个声音尖叫使用“*”或 "auto" 作为底部网格行的高度。
然而,这有一个更糟糕的问题。底部的 ListView 现在扩展通过了 window 并且没有滚动条,呈现不在 window 中的任何内容不可见。
我正在寻找一种方法,允许两个 ListView 占据 window 中的所有 space,中间有一个 GridSplitter,并且始终显示滚动条。
感谢您的帮助。
问题是我的网格位于主 window 内堆栈面板内的用户控件中。我不得不将 stackpannel 换成主 window 中的网格,然后它表现完美。谢谢 dkozl.
我无法让两个 ListView 将它们的高度调整到包含 window。我在它们之间使用 GridSplitter。当我拖动 GridSplitter 时,我希望一个 ListView 缩小,一个扩大。
这是精简的 xaml 代码。
<Grid x:Name="Gridthing">
<Grid.RowDefinitions>
<RowDefinition Height="150"/>
<RowDefinition Height="10"/>
<RowDefinition Height="150"/> <!--bottom-->
</Grid.RowDefinitions>
<ListView Name="Things1" Grid.Row="0"/>
<GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="LightGray"></GridSplitter>
<ListView Name="Things2" Grid.Row="2"/>
</Grid>
但是在这个例子中,底部的 ListView 总是 150 高,无论 window 设置的是什么尺寸。
现在我已经可以听到一千个声音尖叫使用“*”或 "auto" 作为底部网格行的高度。
然而,这有一个更糟糕的问题。底部的 ListView 现在扩展通过了 window 并且没有滚动条,呈现不在 window 中的任何内容不可见。
我正在寻找一种方法,允许两个 ListView 占据 window 中的所有 space,中间有一个 GridSplitter,并且始终显示滚动条。
感谢您的帮助。
问题是我的网格位于主 window 内堆栈面板内的用户控件中。我不得不将 stackpannel 换成主 window 中的网格,然后它表现完美。谢谢 dkozl.