【发布时间】:2010-09-08 11:23:04
【问题描述】:
我有一个包含大量数据(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 行或更多行
有谁知道如何解决这个问题,或者可以建议另一种方法来避免统一网格?谢谢!
【问题讨论】:
标签: wpf listview uniformgrid