C# 在一个事件中,您希望创建一个图像,在同一个函数中,您希望开始拖动该图像
我有一个XAML格式的imagecanvasC# 在一个事件中,您希望创建一个图像,在同一个函数中,您希望开始拖动该图像,c#,windows-phone-7,C#,Windows Phone 7,我有一个XAML格式的imagecanvas <Canvas Name="imgCanvas" > <Canvas.RenderTransform> <CompositeTransform TranslateX="0" TranslateY="0" CenterX="0" CenterY="0"></CompositeTransform> &l
<Canvas Name="imgCanvas" >
<Canvas.RenderTransform>
<CompositeTransform TranslateX="0" TranslateY="0" CenterX="0" CenterY="0"></CompositeTransform>
</Canvas.RenderTransform>
</Canvas>
请向我建议任何方法,以便我可以将图像添加到画布,并能够在一次点击中拖动该图像。您将无法在单个事件中执行此操作,因为您需要检测和响应两个截然不同的操作 首先,不要使用工具箱中的手势。它们已弃用,并且存在性能/内存问题 您应该能够通过鼠标事件来实现这一点。您需要做什么:
-鼠标向下移动后,只要在短时间内没有鼠标向上移动,就可以创建图像。
-创建图像后,通过更新图像的位置来响应mousemove事件,直到有鼠标向上移动 可能会有很多有趣的边缘案例需要处理,但我相信你会找到它们的
g = GestureService.GetGestureListener(imgCanvas);
g.DragStarted += new EventHandler<DragStartedGestureEventArgs>(g_DragStarted);
g.DragDelta += new EventHandler<DragDeltaGestureEventArgs>(g_DragDelta);
g.DragCompleted += new EventHandler<DragCompletedGestureEventArgs>(g_DragCompleted);
Ct.translateX+=e.GetPosition(layoutGrid).X;//not working
Ct.translateY+=e.GetPosition(layoutGrid).Y;