在界面上,中间有一个按钮,周围是Image类型的元素。它看起来像一个 3 x 3 的正方形。当您单击该按钮时,周围的图像应随着每次单击移动一个单元格。比如位于(我用二维数组的语言解释)的图片,它位于距离按钮1 0位置,应该移动到位置0 0,另一张图片从位置0 0移动到位置0 1。
使用这种方法:
image10.BeginAnimation(MarginProperty, new ThicknessAnimation
{
From = new Thickness(99, 66, 361, 212),
To = new Thickness(99, 24, 361, 254),
Duration = TimeSpan.FromSeconds(0.85)
});
我设法在第二次点击之前执行了这样的操作。第二次点击后,图片返回到它们的初始位置并重复第一次点击的动作,但每次点击都必须没有误入歧途,图片会移动一圈。要实现这种方式,我意识到严格访问元素是不可能的,因为我上面写的就出来了。所以问题是,如何在 C# 代码中使用坐标来引用位于给定位置的对象并将其动画化到另一个位置?正如我在 Internet 上阅读的那样,为了搜索和移动,所有对象都必须位于画布上。但是,我会马上说我尝试使用这种方法获取坐标。
Canvas.SetLeft(image10, 0);
Canvas.SetTop(image10, 0);
但是使用这种方式,附加运动动画是行不通的,很重要。
PS 如果您提出一种更简单的方法来实现这个想法,我将不胜感激。