1

对于 WP8,我使用 LongListSelector 来显示项目列表。我需要检测用户何时滚动到顶部以加载列表中的先前项目。

我尝试使用ItemRealized事件来检测何时实现顶部元素。有几个参考文献用于检测“滚动到底部”。

但是即使该用户尚未滚动到该项目,该事件也会为顶部元素触发。所以,这并不能让我检测到“滚动到顶部”。

有没有办法检测到这一点?

4

2 回答 2

0

您可以简单地使用此参考来获取垂直偏移量 获取 LongListSelector 的垂直偏移量

当垂直偏移为 0(或小于 10)时,您位于 ViewPort 顶部。

于 2013-07-05T10:19:18.637 回答
0

使用您已经使用的技术 ( ItemRealized),但只需忽略第一个事件(因为那是创建列表的时间。您可以通过简单地设置一个标志来忽略它:

private bool _firstRealized = false;

void yourLLS_ItemRealized(object sender, ItemRealizationEventArgs e)
{
    // do your item detection here. For example:
    if (Data[0] == e.Container.Content) {

       // then
       if (!_firstRealized)
       {
          _firstRealized = true;
       }
       else
       {
          // woo - we've scrolled to top! Do your stuff
       }        
   }
}
于 2013-06-30T06:43:04.923 回答