0

我有这段代码,但我不能使用它,因为当我调用 sb.Begin() 时会抛出异常:

未指定动画目标。

    public void TableCardAnimation(UserControl cardControl, double Height, double Width)
    {
        Storyboard sb = new Storyboard();
        DoubleAnimation animHeight = new DoubleAnimation();
        animHeight.Duration = new Duration(new TimeSpan(0, 0, 2));
        animHeight.From = cardControl.Height;
        animHeight.To = Height;
        sb.Children.Add(animHeight);
        Storyboard.SetTarget(animHeight, cardControl);
        Storyboard.SetTargetProperty(animHeight, new PropertyPath("(Height)"));


        DoubleAnimation animWidth = new DoubleAnimation();
        animWidth.Duration = new Duration(new TimeSpan(0, 0, 2));
        animWidth.From = cardControl.Width;
        animWidth.To = Width;
        sb.Children.Add(animWidth);
        Storyboard.SetTarget(animWidth, cardControl);
        Storyboard.SetTargetProperty(animHeight, new PropertyPath("(Width)"));

        sb.Begin();
    }

我哪里错了?:(

4

1 回答 1

0

显然这只是一个打字错误。

在行中:

Storyboard.SetTargetProperty(animHeight, new PropertyPath("(Width)"));

您已经为animHeight辅助设置了目标属性,但您的 animWidth 目标属性仍未设置。你可能想做:

Storyboard.SetTargetProperty(animWidth, new PropertyPath("(Width)"));

为什么你使用"(Width)"just "Width"

于 2012-05-26T17:39:11.650 回答