WPF之拖动项滚动条自滚动(当拖动项到达高度的边界时候滚动条自己可以上下滚动)

其实代码蛮简单的,在元素的DragOver事件中加入如下代码:

         Point svPoint = e.GetPosition(sv);
            if (sv.ActualHeight-svPoint.Y <= 20)
            {
                sv.ScrollToVerticalOffset(this.sv.VerticalOffset + 5);
            }
            if (Math.Abs(svPoint.Y) <= 20)
            {
                sv.ScrollToVerticalOffset(sv.VerticalOffset - 5);
            }

其中,sv即Scrollviewer,使用的主要就是Scrollviewer的ScrollToVerticalOffset方法,动态修改Scrollviewer的滚动偏移量。另外if中的值可以根据自己需要进行适当调整,另外第二个if中的绝对值处理其实是可有可无的。

posted @ 2013-08-26 10:09  wangyafei_it  阅读(896)  评论(0编辑  收藏  举报