原文:#747 –在WPF程序的触摸操作中使用惯性移动 (Implementing Inertia during Touch Manipulation)

原文地址:https://wpf.2000things.com/2013/02/01/747-implementing-inertia-during-touch-manipulation/

在WPF触摸操作滑动控件的时候,有的时候希望控件能够在手指离开控件后依照惯性继续滑动,直至慢慢减速停止。默认情况下这个功能是不开启的,当手指离开控件后,控件就会停止滑动。如果要开启惯性移动,需要在惯性移动开始事件ManipulationInertiaStarting 事件的事件处理函数中设置移动的减速加速度。

private void Image_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingEventArgs e)
{
e.TranslationBehavior.DesiredDeceleration = 40.0 * 96.0 / (1000.0 * 1000.0);
Trace.WriteLine(e.TranslationBehavior.InitialVelocity);
}

上面的代码中我们设置减速加速度为40英寸每ms^2 。DesiredDeceleration 属性的单位是DIP/ms^2 ,因此我们将40乘以96(以WPF逻辑像素为单位)。注意,一般的加速度单位的单位时间为秒的平方,而DesiredDeceleration 属性的单位时间是毫秒的平方(ms^2),所以我们在后面除了一个 1000.0*1000.0。

除了位移可以使用惯性之外,缩放和旋转触摸操作也可以使用惯性。同样是在ManipulationInertiaStarting 事件的事件处理函数中国设置,它们对应的属性分别是ExpansionBehavior
RotationBehavior

最新文章

  1. 微信WeixinJSBridge API(屏蔽右上角按钮等)
  2. Comparable和Comparator的区别
  3. socket了解(转)
  4. ubuntu16.04+cuda7.5
  5. CSDN-markdown编辑器
  6. PHP 函数
  7. WordPress的神器
  8. 打印Dom对象的所有属性和方法
  9. 容易网CEO陈从容:用分享成就生活之美
  10. javaweb学习总结(三十九)——数据库连接池
  11. Centos7安装JDK
  12. 房费制VB版本(一个)——系统分析
  13. 在HBulider中如何快速的生成有序(ol)和无序(ul)列表
  14. React从入门到放弃之前奏(2):React简介
  15. OpenCV中feature2D——BFMatcher和FlannBasedMatcher
  16. python3 不知文件编码情况下打开文件代码记录
  17. mysql -- 索引补充
  18. webservice restful一个小例子
  19. sourceforge
  20. 微信小程序调用蓝牙功能控制车位锁

热门文章

  1. Vmware P2V 清除被隱藏網卡佔用的的IP
  2. jQuery常用方法(持续更新)(转)
  3. [Node] Define MongoDB Model with Mongoose
  4. jquery如何实现点击标题收缩下面的内容
  5. HDU 1069 Monkey and Banana DP LIS
  6. oracle 让人抓狂的错误之 null值 与 无值(无结果)-开发系列(一)
  7. Windows环境搭建Web自己主动化測试框架Watir(基于Ruby)
  8. JNDI 的理解
  9. 【Windows Defender Antivirus Service 永久禁用 】
  10. Android 判断软键盘弹出并隐藏的简单完美解决方案