利用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. CF 219D Choosing Capital for Treeland 树形DP 好题

    一个国家,有n座城市,编号为1~n,有n-1条有向边 如果不考虑边的有向性,这n个城市刚好构成一棵树 现在国王要在这n个城市中选择一个作为首都 要求:从首都可以到达这个国家的任何一个城市(边是有向的) ...

  2. 触发隐藏链接进行文件下载,click无响应

    function invokeClick(element) { if (element.click) element.click(); //判断是否支持click() 事件 else if (elem ...

  3. iOS获取电量方法

    ios简单的方法: [UIDevice currentDevice].batteryMonitoringEnabled = YES; double deviceLevel = [UIDevice cu ...

  4. window和nodejs作用域区别(待续)

    //这是在浏览器环境下,chrome下 var n =2 ; var obj={ n:4, fn1:(function(){ console.log("fn1->this =" ...

  5. 解决mysql"Access denied for user'root'@'IP地址'"问题

    在另一台服务器使用 MySQL-Front链接时: 解决方法: 在MySQL服务器上使用root登录后,执行如下SQL语句: mysql 登录命令: >mysql -u root -p; 然后执 ...

  6. [Java] 匿名内部类

    package test.file; import java.io.File; import java.io.FilenameFilter; /** * 匿名的内部类 * @author Frost. ...

  7. java流布局管理器

    public class FlowLayoutPosition extends JFrame{    public FlowLayoutPosition()    {        setTitle( ...

  8. Sqoop增量从MySQL中向hive导入数据

    sqoop job --create incretest -- import --connect jdbc:mysql://10.8.2.19:3306/db --table table1 --use ...

  9. var obj = {};var obj2 = [];var obj3;

    <script> var obj = {}; console.log(obj); var obj2 = []; console.log(obj2); var obj3; console.l ...

  10. A手机等的网络udp广播,收到广播以后回复udp消息

    B手机:向A手机发送一条消息,等待A回复 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: ...