利用GestureListener的OnDragCompleted事件,实现列表向下滑动时,加载新的数据;

(不建议使用 Touch.FrameReported+=Touch_FrameReported;

此事件是全局的,如果没有注销事件,在离开页面后仍会得到响应,而这不是希望的效果)

前台代码:

<Border>

          

<!- 此处放置ScrollViewer或 ListBox-->

<ScrollViewer/>

 

            <toolkit:GestureService.GestureListener>

                <toolkit:GestureListener DragCompleted="OnDragCompleted" />

            </toolkit:GestureService.GestureListener>

        </Border>

后台:

 

        /// <summary>

        /// 上次刷新时间 (控制N秒内不允许多次刷新)

        /// </summary>

        private DateTime _lastRefreshTime = DateTime.Now.AddMinutes(-1);

          

 

        #region 触摸滑动事件

 

        /// <summary>

        /// DragCompleted拖动结束

        /// </summary> 

        private void OnDragCompleted(object sender, DragCompletedGestureEventArgs e)

        {

            double v_max = ScrollViewer1.ScrollableHeight;

            double v_current = ScrollViewer1.VerticalOffset;

 

            if (v_current / v_max > 0.9 && e.VerticalChange < 0)

            {

                //垂直向下,达到预期位置,可以加载数据了

                Request();

            }

 

            //NoticeHelper.ShowPropMsg(msg, ColorType.ColorTip, 4);

        }

 

        #endregion

 

 

        private void   Request()

        {            

            if (_lastRefreshTime.CompareTo(DateTime.Now.AddSeconds(-5)) < 0)

                 _lastRefreshTime = DateTime.Now;

            else

                 return;

        

            //低内存时,不予响应新的请求

            // if (Sys.IsCurrentMemoryLow() && _pageNumber > 1) return;//低内存时,只允许请求0、1页的数据

        

        //to do something..

        

        }

WP8_GestureListener实现列表向下滑动加载新数据的更多相关文章

  1. ASP.NET仿新浪微博下拉加载更多数据瀑布流效果

    闲来无事,琢磨着写点东西.貌似页面下拉加载数据,瀑布流的效果很火,各个网站都能见到各式各样的展示效果,原理大同小异.于是乎,决定自己写一写这个效果,希望能给比我还菜的菜鸟们一点参考价值. 在开始之前, ...

  2. html ajax请求 php 下拉 加载更多数据 (也可点击按钮加载更多)

    <input type="hidden" class="total_num" id="total" value="{$tot ...

  3. 鼠标向下滑动加载div

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Flutter学习笔记(25)--ListView实现上拉刷新下拉加载

    如需转载,请注明出处:Flutter学习笔记(25)--ListView实现上拉刷新下拉加载 前面我们有写过ListView的使用:Flutter学习笔记(12)--列表组件,当列表的数据非常多时,需 ...

  5. winform DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部 z

    http://www.zuowenjun.cn/post/2015/05/20/162.html 判断 DataGridView控件滚动条是否滚动到当前已加载的数据行底部,其实方法很简单,就是为Dat ...

  6. DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部

    private void dgvLoad_Scroll(object sender, ScrollEventArgs e) { if (e.ScrollOrientation == ScrollOri ...

  7. uni-app开发经验分享七: 有关列表数据下拉加载方法的解析及记录

    在使用uni.request获取后台数据时,我们往往碰到一个问题,列表的懒加载及数据实时更新,这里记录下我制作这类功能的方法. 问题描述:后台返回数据,前端需要进行10个为一组来分页,先显示前10个, ...

  8. 集成iscroll 下拉加载更多 jquery插件

    一个插件总是经过了数月的沉淀,不断的改进而成的.最初只是为了做个向下滚动,自动加载的插件.随着需求和功能的改进,才有了今天的这个稍算完整的插件. 一.插件主功能: 1.下拉加载 2.页面滚动到底部自动 ...

  9. android UI进阶之实现listview的下拉加载

    关于listview的操作五花八门,有下拉刷新,分级显示,分页列表,逐页加载等,以后会陆续和大家分享这些技术,今天讲下下拉加载这个功能的实现. 最初的下拉加载应该是ios上的效果,现在很多应用如新浪微 ...

随机推荐

  1. RAC_Oracle集群服务安装Grid Infrastructure(案例)

    2015-01-24 Created By BaoXinjian Thanks and Regards

  2. DBA_Oracle Erp重启Database/Application/Concurrent/Apache(案例)

    2014-12-27 Created By BaoXinjian

  3. suibi11172

    http://blog.sina.com.cn/s/blog_12f37f0f00102wi8q.html 七.Python列表操作的函数和方法 列表操作包含以下函数: 1.cmp(list1, li ...

  4. linux命令(3):复制,剪切(文件和文件夹)

    一:文件命令:cp,mv linux 怎么样复制文件夹内所有文件到另一个文件夹?   cp -Rf /home/user1/* /root/temp/ 将 /home/user1目录下的所有东西拷到/ ...

  5. centos利用cloudflare的bpf-tools实现ddos防护

    概念 利用BPF( Berkeley Packet Filter)工具集结合iptables的xt_bpf模块可以实现高性能包过滤,从而应对大规模的ddos攻击.BPF Tools包含一组简单的pyt ...

  6. View的缩放操作--CGAffineTransformMakeScale:

    __weak UIImageView *weekImage = imageView; imageView.transform = CGAffineTransformMakeScale(0.1, 0.1 ...

  7. shell+Jenkins+jmeter集成

    参考http://www.cnblogs.com/ceshi2016/p/6025641.html 中除ant相关内容,shell替代ant循环执行jmeter脚本和将jtl转换为html job n ...

  8. 为什么选择centos,而不是Dibian、Ubuntu【转】

    我们运行着一些全球最大的互联网的营运,因此我们对可靠性和稳定性非常重视,是我们的第一要务.为此,我们只使用Linux来支撑顾客的系统.但是,我们应该使用哪一个Linux的发行版?答案是,CentOS. ...

  9. C++学习8 构造函数的参数初始化表

    构造函数是一种特殊的成员函数,在创建对象时自动执行,主要用来进行初始化工作,例如对 private 属性的成员变量赋值. 对成员变量的初始化,除了在构造函数的函数体中一一赋值,还可以采用参数初始化表. ...

  10. CRM SQL 共享

     共四步 ,) PRIMARY KEY CLUSTERED, objectid UNIQUEIDENTIFIER NOT NULL, objecttype INT NOT NULL) ,,'883D4 ...