WinJS:如何限制组的元素数量?

时间:2014-11-20 11:26:38

标签: listview microsoft-metro winjs

如何限制分组WinJS.UI.ListView的元素数量? 例如,我需要为该组输出2列。 请注意,对于水平和垂直方向,一列的项目数可能不同。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,您希望限制组中显示的项目数量,这样您只能看到两列,即使该组中有更多项目。那是对的吗?我知道有些应用程序有这种行为,第二列中的最后一项是“...”表示还有更多。健康与健康Windows中的Fitness应用就是这样做的。

这里有几个选项。首先考虑使用Hub control,它可以让您对每个部分进行特定控制。如果需要,这允许您改变每个部分的布局。有关详情,请参阅我的免费电子书HTML Hub Control Sample以及第8章Programming Windows Store Apps in HTML, CSS, and JavaScript, 2nd Edition。 (Health& Fitness应用程序有一个自定义的集线器控件,但它的想法是一样的。)

其次,如果您只想使用分组ListView,则需要专门限制用于构建ListView的数据源中的项目。只要你只有两列物品,它就会只用那两列来渲染。

当然,不同的屏幕尺寸可能意味着不同的列高度,因此您需要动态地进行此确定,计算适合这两列的项目数量,然后将最后一项设为“......”或这样。只需使用不同的算法,您就可以对水平布局和垂直布局做同样的事情。