1

我只是有一个图像,我通过分配一些数字来设置它的宽度和高度。例如,第一个高度和宽度:400 x 800。第二个高度和宽度:200 x 400。

所以如果你做这样一个主流的事情,调整它的大小时不会有任何过渡,它只是一眨眼就变小了。但我希望它在 1 或 2 秒内通过过渡(或动画)在这些“特定”测量之间调整大小。

我知道 Microsoft Expression Blend 会做一些故事板,但我无法通过数据绑定来做到这一点。我用一个值对这个图像进行了数据绑定,当值改变时,图像也会调整大小。但我无法录制任何故事板来创建过渡。

你建议我怎么做?

谢谢

4

1 回答 1

1

我认为类似的事情可能会奏效......

private void buttonStart_Click(object sender, RoutedEventArgs e)
{
    CreateAnimation(400, 200).Begin();
}

private Storyboard CreateAnimation(double from, double to)
{
    Storyboard sb = new Storyboard();
    DoubleAnimation Animation = new DoubleAnimation();
    Animation.From = from;
    Animation.To = to;
    Animation.Duration = new Duration(TimeSpan.FromSeconds(1.0));

    Storyboard.SetTarget(Animation, ITEMNAME);
    Storyboard.SetTargetProperty(Animation, new PropertyPath("(Width)"));

    sb.Children.Add(Animation);

    return sb;
} 

只需为高度和宽度创建两个双重动画即可同时使用。

于 2013-08-02T21:32:00.727 回答