ManipulationDeltaRoutedEventArgs中的值如何工作

时间:2014-08-26 13:26:51

标签: windows-8.1

我正在尝试理解手势,但我很难理解它们的实际效果。

我已经输入了以下代码,但它没有返回我期望的内容。

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开头/结尾处矩形的位置以及自上一次移动后它移动了多远?我想知道矩形的当前位置在哪里,因为我不希望用户能够在屏幕外移动它。

由于

0 个答案:

没有答案