在多次平移变换后将按钮替换为其初始位置

时间:2012-01-23 14:42:58

标签: c# wpf animation transformation

我有一个按钮,我使用故事板和translateTransform移动:

_animatedTranslateTransform = new TranslateTransform();
this.RegisterName("slide", _animatedTranslateTransform);
DoubleAnimation slideDown = new DoubleAnimation();
slideDown.By = 20;
slideDown.Duration = TimeSpan.FromSeconds(0.5);
Storyboard.SetTargetName(slideDown, "slide");
Storyboard.SetTargetProperty(slideDown, new PropertyPath(TranslateTransform.YProperty));

经过一些迭代后,我的按钮已从60像素移动,例如。如何将其替换为初始位置?

我试过这个(我设置-60来简化解释):

TranslateTransform t = (TranslateTransform) _button.RenderTransform;
t.Y = -60;

但如果动画已经发生一次,它就不起作用。

1 个答案:

答案 0 :(得分:1)

更新: 为了防止未来的读者被下面的来回困惑,正确的答案是:

_button.RenderTransform = new TranslateTransform();

原始答案:

我会存储您想要重置时使用的原始位置。我不认为这是一个原始状态的概念"控制。