2
我有大量的數據(超過200項)的一個ListView這樣節省空間它是利用一個UniformGrid的顯示3列,而不是1最佳WPF多列列表視圖方法
<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行或更多行。這意味着,一個組中的所有行佔2個或更多行時它只有1,需要額外的空間
有誰知道如何解決這個問題,或者可以建議其他方法來避免uniformgrid行?謝謝!
Thanks Quartermeister,我試過了你的方法,但是它只創建了一列而不是3? – si618 2010-09-08 04:08:09
@Si:這種方法將從單列開始,隨着元素數量的增加而增加更多的列,而不是像單個行一樣開始並添加更多的行,所以如果你有足夠少的元素,那麼只會有一列。你有沒有在允許垂直滾動的面板?它只會在垂直空間不足時創建額外的列,這就是爲什麼我禁用了ListView上的垂直滾動條的原因,但是如果ListView本身位於ScrollViewer中,那麼它仍然可以垂直擴展。 – Quartermeister 2010-09-08 11:41:54
乾杯Quartermesiter,解釋它! – si618 2010-09-16 03:02:40