windows phone 8 Listbox换页
ListBox中的ScrollViewer 根据sv.VerticalOffset >= sv.ScrollableHeight分页,但是为什么,我划到底部时,这段代码 MessageBox.Show("开始加载第二页数据");
执行了26次,为什么执行那么多次?请大侠帮忙。
private void ImgListBox_MouseMove(object sender, MouseEventArgs e)
{
ScrollViewer sv = pc.FindFirstElementInVisualTree<ScrollViewer>(ImgListBox);
if (sv == null)
{
throw new Exception("发生错误");
}
else
{
if (sv.VerticalOffset >= sv.ScrollableHeight)
{
MessageBox.Show("开始加载第二页数据");
numCount++;
SearchSubData(numCount);
}
}
} windows?phone?8
[解决办法]
你每次移动鼠标事件都会触发。
至于为什么每次都messagebox,你可以debug的时候看下面表达式的值。
sv.VerticalOffset >= sv.ScrollableHeight
[解决办法]
提供一个更简单的解决方案,在listbox底部加一个按扭(加载下一页)让用户自己去点一下,就OK了,因为目前WP系统在网络的吞吐速度方面感觉很慢,相比android和ios来说,加一个按扭可以防止用户滑到底部就加载数据导致界面有卡顿。