WPF Image触摸移动方法
1: TouchPoint mPoint = null;
2: double mOffsetX;//水平滚动条当前位置
3: double mOffsetY;//垂直滚动条当前位置
4: bool mIsTouch = false;//是否触摸
5: //触摸事件
6: private void mScrollViewer_TouchDown(object sender, TouchEventArgs e)
7: {
8: mIsTouch = true;//正在触摸
9: mOffsetX = this.mScrollViewer.HorizontalOffset;//获取ScrollViewer滚动条当前位置
10: mOffsetY = this.mScrollViewer.VerticalOffset;//获取ScrollViewer滚动条当前位置
11: mPoint = e.GetTouchPoint(mScrollViewer);//获取相对于ScrollViewer的触摸点位置
12: }
13:
14: //触摸移动事件
15: private void mScrollViewer_TouchMove(object sender, TouchEventArgs e)
16: {
17: if (mIsTouch == true)//如果正在触摸
18: {
19: TouchPoint point = e.GetTouchPoint(mScrollViewer);//获取相对于ScrollViewer的触摸点位置
20: double DiffOffsetX = point.Position.X - mPoint.Position.X;//计算相对位置
21: double DiffOffsetY = point.Position.Y - mPoint.Position.Y;//计算相对位置
22: this.mScrollViewer.ScrollToHorizontalOffset(mOffsetX - DiffOffsetX);//ScrollViewer滚动到指定位置
23: this.mScrollViewer.ScrollToVerticalOffset(mOffsetY - DiffOffsetY);//ScrollViewer滚动到指定位置
24: }
25: }
26:
27: //触摸结束事件
28: private void mScrollViewer_TouchUp(object sender, TouchEventArgs e)
29: {
30: mIsTouch = false;//触摸结束
31: }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。