WP8_GestureListener实现列表向下滑动加载新数据

 

利用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..
        
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值