我正在尝试理解手势,但我很难理解它们的实际效果。
我已经输入了以下代码,但它没有返回我期望的内容。
public void Rectangle_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
System.Diagnostics.Debug.WriteLine("last positionX was {0}. Current positionX is {1}. Difference between the 2: {2}", _previousPositionX, e.Position.X, e.Position.X - _previousPositionX);
System.Diagnostics.Debug.WriteLine("delta x: {0}", e.Delta.Translation.X);
_previousPositionX = e.Position.X;
}
我希望这段代码可以打印出类似
的内容最后位置X为0.当前位置X为23.
2:23之间的区别
delta x:23
最后一个位置X是23.当前位置X是33.
2:10之间的区别
delta x:10
最后一个位置X是33.当前位置X是53.
2:20之间的区别
delta x:20
然而,我得到的是
最后一个位置X是298.787872314453。当前位置X是314.760620117188。
2:15.9727478027344之间的区别
累积x:-181.818176269531
delta x:-44.5818138122559
最后一个位置X是314.760620117188。当前位置X是326.009094238281。
2:11.2484741210938之间的差异
累积x:-210.036361694336
delta x:-28.2181797027588
最后一个位置X是326.009094238281。当前positionX是350.893920898438。
2:24.8848266601563之间的区别
累积x:-212.509078979492
delta x:-2.47272729873657
e.Delta.Translation.X或e.Cumulative.Translation.X似乎都不匹配上次调用eventhandler时e.Position.X与当前时间之间的差异。这一切都在一个滑动手势。如何找出ManipulationDelta开头/结尾处矩形的位置以及自上一次移动后它移动了多远?我想知道矩形的当前位置在哪里,因为我不希望用户能够在屏幕外移动它。
由于