解决方案 »

  1.   

    设置一个变量 isdown
    mousedown中 isdown=true;
    mousemove中判断isdown,来判断是否按下
    mosueup中 isdown=false
      

  2.   


    这么做当然是可以的,但是我想知道正规的做法应该是怎么样的?
    是都把触控当做Mouse的事件来做呢,还是各归各做一套
      

  3.   

    好吧后来我自己调查了一下,我自己来回答吧。
    虽然根本的原因我不知道,至少表层的原因是这样的。
    我试了一些比较普通的控件,比如Rectangle或者Thumb之类的,不给其添加专门的touch相关的事件而只加鼠标事件
    mousedown mousemove mosueup这种。
    情况是触控点下去的时候什么都没触发,移动的时候触发了mousedown mousemove 2个事件。
    然后抬起的时候触发了mosueup。然后我又试了ListBox,发现
    在ListBox上点下或者抬起都不会触发mousedown mosueup,只有移动的时候会触发mousemove 。
    所以如果控件是ListBox的话看来不能偷懒全都靠鼠标事件响应,而是要为触控专门添加一套事件。
    Touch本来就是有对应的Touch的事件的