我想像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}}