我想做一个ListBox
功能类似于 Grid
.每次添加新项目时,它应该看起来像一个新的 GridRow
添加了(带有星号的高度)。因此,如果有两个项目,它们将分别占用一半的可用空间。在某些时候 Grid
行将小于项目 MinHeight
此时Grid
将展开并且包含 ScrollViewer 可以启动。
您将在 ScrollViewer
内的网格中看到此行为。 .但是,我需要使用 ListBox
所以我可以设置ItemsSource
, 创建一个 DataTemplate
继续前进。
默认 ListBox
的问题ItemsPanel
是它不会让我的第一个项目扩展以填充所有可用空间。
更新:
这是使它工作的代码:
<ListBox VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Width="Auto" Height="Auto">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
最佳答案
这篇 SO 帖子有一些与您的帖子相关的非常好的信息
WPF - Why Listbox items do not fill uniformgrid
关于wpf - 如何使 ListBoxItem 垂直拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1401656/