【问题标题】:Listbox items dynamic load列表框项动态加载
【发布时间】:2010-12-30 16:47:06
【问题描述】:

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

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

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

【问题讨论】:

  • 有什么问题?你被困在问题的某个部分了吗?你有没有尝试过不同的事情并失败了?他们是什么?

标签: .net silverlight user-interface


【解决方案1】:

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

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

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

【讨论】:

  • 博文看起来不错,我会试试的。谢谢
【解决方案2】:

here 开始,阅读 Bea Stolnitz 关于 Silverlight 中数据虚拟化的文章。

【讨论】:

  • 这不是一个答案,因为他在谈论数据虚拟化并且数据虚拟化在 Silverlight 中不起作用。
猜你喜欢
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多