我有一个包含大量数据(200 多个项目)的 ListView,因此为了节省空间,它使用 UniformGrid 来显示 3 列而不是 1
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
我还修改了样式,使每个项目都与顶部对齐
<ListView.Resources>
<Style TargetType="{x:Type ListView}">
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ListViewItem">
<Setter Property="VerticalContentAlignment" Value="Top"/>
</Style>
</Setter.Value>
</Setter>
</Style>
</ListView.Resources>
这可以正常工作,但是由于显示数据的长度不同,项目组中仍然存在浪费的空间,因为大多数数据都适合单行,但偶尔会有一个项目占用 2 行或更多行。这意味着当只有 1 行需要额外空间时,组中的所有行占用 2 行或更多行
有谁知道如何解决这个问题,或者可以提出另一种避免统一网格的方法?谢谢!