WPF Image觸摸移動方法

來源:互聯網
上載者:User

標籤:style   class   code   tar   color   width   

   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:  }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.