列表框项目动态加载

时间:2009-12-29 06:14:16

标签: .net silverlight user-interface

我想为Silverlight列表框中的项目创建动态加载。

当用户通过滚动条(或鼠标滚轮)到达项目结尾时,我想要为下一个10(或一些不同的)项目调用新请求。

问题是列表框上的哪个事件可以处理这个问题?

2 个答案:

答案 0 :(得分:2)

Silverlight 3中的UI虚拟化取得了很多进展,但我认为没有任何简单的方法可以实现基于滚动ListBox的这种类型的数据虚拟化。

一种可能的解决方案是将ListBox子类化并处理LayoutUpdated事件以访问内部ScrollViewer。然后,您可以访问该ScrollViewer的垂直ScrollBar并注册以处理ValueChanged事件。如果ScrollBar值发生了变化并且处于最大值(完全向下滚动),则可以请求下一组项目并将它们添加到ListBox的基础集合中。

查看此blog post的想法。不确定它是否是最好的方法,但它似乎是一个可行的解决方案。

答案 1 :(得分:1)

使用Bea Stolnitz关于Silverlight中数据虚拟化的文章,开始here