您的位置:首页 > 其它

Windows Phone开发之 listbox分页加载数据

2012-01-11 11:44 204 查看
private void listbox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (Result[0] == "1")
            {
                //获取listbox的子类型ScrollViewer            
                ScrollViewer scrollViewer = FindChildOfType<ScrollViewer>((ListBox)sender);
                if (scrollViewer == null)
                {
                    throw new InvalidOperationException("erro");
                }
                else
                {
                    //判断当前滚动的高度是否大于或者等于scrollViewer实际可滚动高度,如果等于或者大于就证明到底了
                    if ((scrollViewer.VerticalOffset + 1) >= scrollViewer.ScrollableHeight)
                    {
                        MessageBox.Show("aaa");
                    }
                }
            }
        }

        //获取子类型        
        public static T FindChildOfType<T>(DependencyObject root) where T : class
        {
            var queue = new Queue<DependencyObject>();
            queue.Enqueue(root);
            while (queue.Count > 0)
            {
                DependencyObject current = queue.Dequeue();
                for (int i = VisualTreeHelper.GetChildrenCount(current) - 1; 0 <= i; i--)
                {
                    var child = VisualTreeHelper.GetChild(current, i);
                    var typedChild = child as T;
                    if (typedChild != null)
                    {
                        return typedChild;
                    }
                    queue.Enqueue(child);
                }
            }
            return null;
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: