【wpf】鼠标点击和拖动控件时触发动画的问题
我用鼠标拖动控件的时候,取控件当前的坐标位置,然后加上鼠标移动的位置,写成Storyboard然后让控件移动,但是当鼠标拖动的快的时候,不知道是取的控件当前坐标不准确还是什么问题,控件就会串位置,还请大家帮帮忙想想办法吧~~!
[解决办法]
就不晓得你用的啥子方法来获取坐标 e.getpostion()?
[解决办法]
你取的是控件哪里的位置?是鼠标点击位置,还是控件起点位置?出现控件错位,应该是坐标值造成的。
[解决办法]
你鼠标的“位移”不是控件的“位移”。
虽然被拖的控件的距离与鼠标的“位移”相等,但是控件的在面板里面的坐标是以左上角为基准的。你是不是发现控件都是偏右和偏下。
起始你的控件这里指移动了 鼠标的位移-鼠标离控件边框的距离。
假设开始控件的坐标为(100,100),鼠标在控件的中心(150,150)开始拖动。你鼠标移动到
(200,200)的地方。那么你鼠标只是移动了(200-150,200-150)=【50,50】
但是你的控件呢? 控件开始坐标为(100,100),最后的坐标是(200,200),
所以你控件移动了(200-100,200-100)=【100,100】。
控件和鼠标不等距离移动就造成了错位。
[解决办法]
这样应该是Storyboard运行时,坐标发生的变化不能记录 导致的
如果是移动尽量在MouseMove中完在坐标换算和唯一,而不要用storyboard
[解决办法]
在移动事件中,取鼠标的当前位置不就可以解决了吗。
[解决办法]
可以这么理解吗?
有一个画布Canvas1,里面有一个Button1,你想通过DragDrop拖拽button1,并且想获得鼠标在canvas1上面的坐标位移。
是吗?