我需要在使用winjs的windows phone 8.1应用程序的listview中实现无限滚动功能。有没有最简单/可能的方法来实现这个?在第一次'n'项目将被加载,如果我们向下滚动到达列表的底部下一组项目将加载...等等。
任何帮助/建议都将受到高度赞赏。
答案 0 :(得分:0)
我在第7章的免费电子书Programming Windows Store Apps with HTML, CSS, and JavaScript, 2nd Edition的侧边栏中写到了这一点。这就是:
除了潜在的非常大但已知的集合,其他 从各方面来看,收藏品基本上是无限的, 就像一个可能有数百万件物品延伸回来的新闻Feed 新生代(至少通过互联网推算!)。有这样的 收藏品,你可能不知道有多少物品 所有;您可以做的最好的事情就是在用户加载另一个块时 想要他们。
虽然ListView本身不提供支持 在适当的时间自动加载另一批商品, 在数据源或数据源中进行相对简单的操作 项目渲染功能。只需在最后看到物品请求 列表(无论你想做多远),并将其用作 加载更多项目的触发器。在项呈示器中,选中 正在渲染的项目的位置,它告诉你在哪里 ListView的视口与集合相关。在数据源中, 观察IListDataAdapter方法中的索引或键 itemsFromIndex,特别是当countAfter参数超过时 当前列表的结尾。无论哪种方式,你然后加载更多的项目 集合,应该生成更改通知的更改 控制。控件将调用source的getCount方法 响应并相应地更新其滚动条。
在HTML ListView incremental loading behavior sample的方案2和3中可以找到一个小的演示,它可以添加更多项目。 需要时从项目渲染器中进行Binding.List。