现在位置首页 / 项目实战 /正文

wpf教程-ScrollViewer支持鼠标拖拽及触摸touch拖拽

作者: IT小兵 | 2014年6月16日| 热度:℃ | 评论: |参与:

在开发中遇到一个功能:

案例程序将指定目录中的图片读入到StackPanel里现实,再把StackPanel放置到ScrollViewer中。

就是ScrollViewer可以支持左右上下的滚动,都是基于鼠标的。

如何让ScrollViewer支持touch触摸拖拽那?

一开始我还想着给他加上touchmove事件来着。

但是一查,ScrollViewer竟然天生支持touch。。只需要设置一个属性:

<ScrollViewer PanningMode="Both"></ScrollViewer>.


ScrollViewer直接支持Panning(平面拖动)操作,只要将设置PanningMode属性即可。

例如:this.scrollViewer_MainPanel.PanningMode = PanningMode.HorizontalOnly;

ScrollViewer中的内容滚动到边界是还会自动出发Window Bounce(窗体弹跳),以叫做Panning Feedback(拖动回馈)。

ScollViewer滚动时默认以像素为单元,滚动起来看上去是连贯的,如果以被滚动内容为单元,可以设置ScrollViewer的CanContentScroll属性为true,滚动是会对齐内容的开始位置,看上去滚动是跳动的。

例如:this.scrollViewer_MainPanel.CanContentScroll = true;

视频中,点击CheckBox就是切换CanContentScroll属性。CanContentScroll属性开启前,图片是连续滚动的,而开启后图片滚动会直接跳动的每张图片的开始处。

提示1:ScrollViewer向滚动默认是禁用的,如果需要支持横向滚动,需要ScrollBarVisibility设置为除Disable以外其他的选项。

提示2:拖动Scrollviewer默认是有惯性的,ScrollViewer的PanningDeceleration属性是用于设置惯性运动的减速率的,默认值0.001,表现为很自然的惯性运动。案例中把这个属性设置为1,减速很快,就感觉不到惯性了。



点击阅读本文所属分类的更多文章: 项目实战 。和高手一起交流:346717337
友荐云推荐

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:[email protected]

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:[email protected]

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询