Почему эти анимации не работают, когда я использую раскадровку?

Я создал простой подклассStackPanel что я могу перемещаться по экрану, используя анимированныеTranslateTransform, Это выглядит так:

public class MovingStackPanel : StackPanel
{
    public void BeginMove(Point translatePosition)
    {
        RenderTransform = new TranslateTransform();
        Duration d = new Duration(new TimeSpan(0, 0, 0, 0, 400));
        DoubleAnimation x = new DoubleAnimation(translatePosition.X, d);
        DoubleAnimation y = new DoubleAnimation(translatePosition.Y, d);
        /*
        Storyboard.SetTarget(x, RenderTransform);
        Storyboard.SetTargetProperty(x, new PropertyPath("X"));

        Storyboard.SetTarget(y, RenderTransform);
        Storyboard.SetTargetProperty(y, new PropertyPath("Y"));

        Storyboard sb = new Storyboard();
        sb.Children.Add(x);
        sb.Children.Add(y);
        sb.Completed += sb_Completed;
        sb.Begin();
        */
        RenderTransform.BeginAnimation(TranslateTransform.XProperty, x);
        RenderTransform.BeginAnimation(TranslateTransform.YProperty, y);
    }

    void sb_Completed(object sender, EventArgs e)
    {
        Console.WriteLine("Completed.");
    }
} 

И вот моя проблема: если я анимирую свойства X и Y напрямую, как показано в коде выше, это работает. Но если я использую закомментированный код над ним, это действительно самое простое созданиеStoryboard в мыслимом коде ничего не происходит. Анимация запускается - по крайней мере, событие Completed вызывается - но на экране ничего не меняется.

Очевидно, что я делаю что-то не так, но я не вижу, что это такое. Каждый пример создания раскадровок в коде, который я видел, выглядит примерно так. Очевидно, что в анимации и раскадровках есть что-то, чего я еще не знаю: что это?

Ответы на вопрос(2)

Ваш ответ на вопрос