#747 –在WPF程序的触摸操作中使用惯性移动 (Implementing Inertia during Touch Manipulation)
2024-08-31 21:51:38
原文:#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。
最新文章
- 微信WeixinJSBridge API(屏蔽右上角按钮等)
- Comparable和Comparator的区别
- socket了解(转)
- ubuntu16.04+cuda7.5
- CSDN-markdown编辑器
- PHP 函数
- WordPress的神器
- 打印Dom对象的所有属性和方法
- 容易网CEO陈从容:用分享成就生活之美
- javaweb学习总结(三十九)——数据库连接池
- Centos7安装JDK
- 房费制VB版本(一个)——系统分析
- 在HBulider中如何快速的生成有序(ol)和无序(ul)列表
- React从入门到放弃之前奏(2):React简介
- OpenCV中feature2D——BFMatcher和FlannBasedMatcher
- python3 不知文件编码情况下打开文件代码记录
- mysql -- 索引补充
- webservice restful一个小例子
- sourceforge
- 微信小程序调用蓝牙功能控制车位锁
热门文章
- Vmware P2V 清除被隱藏網卡佔用的的IP
- jQuery常用方法(持续更新)(转)
- [Node] Define MongoDB Model with Mongoose
- jquery如何实现点击标题收缩下面的内容
- HDU 1069 Monkey and Banana DP LIS
- oracle 让人抓狂的错误之 null值 与 无值(无结果)-开发系列(一)
- Windows环境搭建Web自己主动化測试框架Watir(基于Ruby)
- JNDI 的理解
- 【Windows Defender Antivirus Service 永久禁用 】
- Android 判断软键盘弹出并隐藏的简单完美解决方案