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

WPF Image触摸移动方法的更多相关文章

  1. Git使用总结 Asp.net生命周期与Http协议 托管代码与非托管代码的区别 通过IEnumerable接口遍历数据 依赖注入与控制反转 C#多线程——优先级 AutoFac容器初步 C#特性详解 C#特性详解 WPF 可触摸移动的ScrollViewer控件 .NET(C#)能开发出什么样的APP?盘点那些通过Smobiler开发的移动应用

    一,原理 首先,我们要明白Git是什么,它是一个管理工具或软件,用来管理什么的呢?当然是在软件开发过程中管理软件或者文件的不同版本的工具,一些作家也可以用这个管理自己创作的文本文件,由Linus开发的 ...

  2. WPF 获得触摸精度和触摸点

    原文:WPF 获得触摸精度和触摸点 本文主要告诉大家如何获得所有的触摸设备的触摸精度和触摸点数. 需要通过反射的方法才可以拿到触摸的精度. 使用 Tablet.TabletDevices 可以获得所有 ...

  3. WPF多点触摸放大缩小旋转

    原文:WPF多点触摸放大缩小旋转 版权声明:本文为博主原创文章,需要转载尽管转载. https://blog.csdn.net/z5976749/article/details/40118437 如果 ...

  4. WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序

    原文:WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序 前面我讲了在win7下使用模拟器,进行调试模拟多点触摸,其实际开发中这样也比较麻烦.. 要拿几个鼠标. 所以更多的人会 买个触摸套 套 ...

  5. WPF关闭应用程序方法

    很多人认为关闭应用程序应该很简单,例如WindowsForm里一个Application.Exit();方法就可以解决问题,但在WPF里面可别滥用,因为WPF里Application类没有该方法,倒是 ...

  6. WPF入门教程系列(二) 深入剖析WPF Binding的使用方法

    WPF入门教程系列(二) 深入剖析WPF Binding的使用方法 同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProp ...

  7. WPF中TreeView.BringIntoView方法的替代方案

    原文:WPF中TreeView.BringIntoView方法的替代方案 WPF中TreeView.BringIntoView方法的替代方案 周银辉 WPF中TreeView.BringIntoVie ...

  8. 【转】解决WPF图片模糊最佳方法(绑定PixelWidth与PixelHeight)

    解决WPF图片模糊最佳方法(绑定PixelWidth与PixelHeight) 转载自:http://www.360doc.com/content/13/1126/09/10504424_332211 ...

  9. WPF去除边框的方法

    原文:WPF去除边框的方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangsen600/article/details/81978125 W ...

随机推荐

  1. 什么是空间复杂度(What is actually Space Complexity ?)

    属于空间复杂度(Space Complexity)在很多情况下被错认为是附属空间(Auxiliary Space),下面是附属空间和空间复杂度的定义. 附属空间(Auxiliary Space)是算法 ...

  2. 充分发挥 JavaScript 语言的优势

    尽管我在生产环境中使用 JavaScript 长达 8 年之久了,但是,直到最近 2 年,我才开始学习如何正确地编写 JavaScript 代码,根据我对人们的理解,很多开发者都有类似经历.我们有相当 ...

  3. C# - 创建List属性的简单方法

    不用担心List没有创建问题. private ObservableCollection<EquipmentItem> _optionalCollection; public Observ ...

  4. C++ multimap 的插入,遍历,删除

    #include <iostream> #include <map> #include <string> using namespace std; int main ...

  5. asp.net页面之间的跳转

    调用Request.CurrentExecutionFilePath方法返回到当前页面 站点中常常要跳转页面,调用Request.CurrentExecutionFilePath方法能够获取当前页面的 ...

  6. PCM文件格式简单介绍

    PCM文件格式简单介绍 PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志.Windows的Convert工具能够把PCM音频格式的文件转换成M ...

  7. flush();close();dispose()

    写一个写csv文件的程序,用streamwriter,觉得程序主体是没有问题的,但是一直写不进去,最后发现是因为没有调用flush(). msdn 对streamwriter.flush()的的说明是 ...

  8. Oracle11g R2学习系列 之八高级数据类型

    所谓的高级数据类型,就是大数据类型,即BCNB(助记词:BC牛逼)+XML数据类型. B:blob,用来存储可变长度的二进制数据. C:clob,主要用来存储可变长度的字符型数据,也就是其他数据库中提 ...

  9. :before与:after伪类的应用

    1.小三角样式

  10. 移动端Web开发笔记

    最近写的一个移动端项目:上海 地铁指路通,之间遇到的一些问题,记录下来(以后会不断补充的): 1. 丰富的页面Meta: 1.1: 控制显示区域各种属性: <meta content=" ...