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:  }

转载于:https://www.cnblogs.com/yexiaohui/p/3705453.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值