如何让LongListSelector显示多列中的项目?
假设有三个"项目"足以垂直填满屏幕,但另一列水平仍有足够的空间。而不是:
item1
item2
item3
... (scroll down)
item4
item5
item6
... (scroll down)
item7
我想看看:
item1 item5
item2 item6
item3 item7
...(scroll down)
item4
我猜我需要在某个地方引入WrapPanel,但不确定如何?寻找XAML解决方案。
我们正在使用项目组,但在列方面不需要任何特殊分组。换句话说,组标题可以与项目内联;他们不需要跨列。给定的组不必属于同一列或同一屏幕。
我们正在构建WP7,因此我们正在使用WP7 Toolkit的LongListSelector版本,而不是更全面的WP8版本,其LayoutMode很容易解决这个问题!
更新:根据Chris W的回答,我下载并构建了我自己的" WP7工具包,修改Generic.xaml如下:
<primitives:TemplatedListBox.ItemsPanel>
<ItemsPanelTemplate>
<controls:WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</primitives:TemplatedListBox.ItemsPanel>
但是,尽管限制了datatemplate项目的宽度以确保第二列的空间,但这些项目并没有包装。
每this question我似乎必须明确设置WrapPanel的高度才能获得所需的行为。我试着对WrapPanel的高度以及MaxHeight进行硬编码,看看这是否有用(不是一个可行的永久解决方案),但它也没有用!
因为我们不需要&#34;跳到群组&#34; LongListSelector的功能(我们只选择它进行项目分组),我可以简单地使用ListBox with a ValueConverter to enable grouping。