相关疑难解决方法(0)

当我使用故事板时,为什么这些动画不起作用?

我已经创建了一个简单的子类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.");
    }
} 
Run Code Online (Sandbox Code Playgroud)

这是我的问题:如果我直接为X和Y属性设置动画,就像上面的代码一样,它可以工作.但是,如果我使用上面注释掉的代码,这实际上是 …

wpf animation storyboard

9
推荐指数
2
解决办法
7722
查看次数

标签 统计

animation ×1

storyboard ×1

wpf ×1