Я пытаюсь использовать класс TranslateTransform для перемещения изображения в сетке по оси Y.Мне нужно, чтобы это движение было плавным, поэтому я не могу использовать SetMargin или SetCanvas.Я пытаюсь сделать это в следующем коде:
public void MoveTo(Image target, double oldY, double newY)
{
var trans = new TranslateTransform();
var anim2 = new DoubleAnimation(0, newY, TimeSpan.FromSeconds(2))
{EasingFunction = new SineEase()};
target.RenderTransform = trans;
trans.BeginAnimation(TranslateTransform.YProperty, anim2);
}
Объект, который я хочу использовать (элемент управления изображением), помещен в сетку.В первый раз все отлично работает.Проблемы возникают, когда я пытаюсь переместить объект снова, используя ту же функцию.Объект (элемент управления Image) сначала перемещается в начальную позицию (начальную координату Y), а затем начинается анимация.
Разве TranslateTransform не может изменить координаты (в моем случае свойство Margin)?
Спасибо.