如何使ListBoxItem垂直伸展

时间:2009-09-09 19:40:39

标签: wpf listbox autosize

我想像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> 的问题在于它不会让我的第一个项目展开以填充所有可用空间。

更新: 以下是使其正常运行的代码:

{{1}}

1 个答案:

答案 0 :(得分:1)

此SO帖子有一些非常好的信息,似乎与您的帖子相关 WPF - Why Listbox items do not fill uniformgrid