我目前在我的应用程序中通过代码在图像上使用 TranslateTransform 并且它工作正常。
但我希望图像逐步移动,假设每次移动跳跃 10 或 20 像素。有没有办法做到这一点。这给运动带来了复古的味道。
我在想类似 TranslateTransform.Step = 10;
Duration durationX = new TimeSpan(0, 0, 0, 0, 600);
Duration durationY = new TimeSpan(0, 0, 0, 0, 400);
DoubleAnimation moveX = new DoubleAnimation();
moveX.Duration = durationX;
moveX.To = ((ImgCanvasCoordinates[cardSource][0] - ImgCanvasCoordinates[cardTarget][0]) * -1);
DoubleAnimation moveY = new DoubleAnimation();
moveY.Duration = durationY;
moveY.To = ((ImgCanvasCoordinates[cardSource][1] - ImgCanvasCoordinates[cardTarget][1]) * -1);
Storyboard story1 = new Storyboard();
story1.Children.Add(moveX);
story1.Children.Add(moveY);
Storyboard.SetTarget(moveX, imgGhost);
Storyboard.SetTarget(moveY, imgGhost);
Storyboard.SetTargetProperty(moveX, "(Image.RenderTransform).(TranslateTransform.X)");
Storyboard.SetTargetProperty(moveY, "(Image.RenderTransform).(TranslateTransform.Y)");
story1.Begin();