在我的项目中,可以使用增量操作在屏幕上移动对象(矩形...),如下所示:
rectangle.TranslateX += e.Delta.Translation.X;
rectangle.TranslateY += e.Delta.Translation.Y;
当移动物体时,如何获得方向(向右,向左,向上,向下)? 我需要在移动对象时获取此信息。
答案 0 :(得分:0)
什么是e.Delta.Translation.X
,e.Delta.Translation.Y
?你的意思不是......
e.DeltaManipulation.Translation.X
e.DeltaManipulation.Translation.Y
那是什么rectangle.TranslateX
,rectangle.TranslateY
?
这些东西不存在。快速浏览一下你想做的事情,可以看到很多有用的例子。
例如,使用触摸
在屏幕上移动图像<Image x:Name="myImage" Source="/Assets/ApplicationIcon.png" Stretch="None" ManipulationDelta="myImage_ManipulationDelta">
<Image.RenderTransform>
<CompositeTransform></CompositeTransform>
</Image.RenderTransform>
</Image>
private void myImage_ManipulationDelta(object sender, System.Windows.Input.ManipulationDeltaEventArgs e)
{
Image i = sender as Image;
CompositeTransform ct;
if (i.RenderTransform is CompositeTransform)
{
ct = (CompositeTransform) i.RenderTransform;
ct.TranslateX += e.DeltaManipulation.Translation.X;
ct.TranslateY += e.DeltaManipulation.Translation.Y;
}
}