我在 WPF 中有一个控件(这是一个包含圆圈的自定义控件)。
我需要每 60 毫秒移动一次。
我有一个“位置”数组(具有 2 个属性的类:X 和 Y),我这样做是为了移动它:
timer_tick()
{
myControl.Margin = new Thickness { Left = MyArray[i].X, Top = MyArray[i].Y};
i++;
}
带有一个全局变量。
但我能以更好的方式做到这一点吗?使用类似的东西:
public static void MoveTo(this Image target, double newX, double newY)
{
var top = Canvas.GetTop(target);
var left = Canvas.GetLeft(target);
TranslateTransform trans = new TranslateTransform();
target.RenderTransform = trans;
DoubleAnimation anim1 = new DoubleAnimation(top, newY - top, TimeSpan.FromMilliseconds(60));
DoubleAnimation anim2 = new DoubleAnimation(left, newX - left, TimeSpan.FromMilliseconds(60));
trans.BeginAnimation(TranslateTransform.XProperty,anim1);
trans.BeginAnimation(TranslateTransform.YProperty,anim2);
}
在每个滴答声中?
谢谢