Заменить кнопку в исходное положение после нескольких преобразований преобразования - PullRequest
0 голосов
/ 23 января 2012

У меня есть кнопка, которую я перемещаю, используя раскадровку и 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 Ответ

1 голос
/ 23 января 2012

ОБНОВЛЕНИЕ: чтобы избежать путаницы в будущем читателей, верный ответ должен сделать:

_button.RenderTransform = new TranslateTransform();

Оригинальный ответ:

Iбудет хранить исходную позицию, которая будет использоваться всякий раз, когда вы хотите сбросить.Я не думаю, что существует понятие «исходного состояния» для элемента управления.

...