Элемент управления никогда не появляется после анимации ScaleTransform - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь анимировать преобразование ScaleTransform от 0 до 1. Чтобы открыть элемент управления.

Следующий код кажется мне идеальным.Я скопировал подходы из других вопросов здесь, на StackOverflow.Да, анимация запускается (по крайней мере, Completed повышается), однако визуальное изображение никогда не появляется.Так как это происходит от 0 до 1, элемент управления никогда не появляется.Я попытался вручную установить его на 1 (без анимации), и там нет никаких проблем, работает.

Пожалуйста, предположим, что begin == 0 && duration == 3000 && от == 0 && до == 1

// setup
var _Storyboard = new Storyboard
{
    BeginTime = TimeSpan.FromMilliseconds(begin),
    Duration = new Duration(TimeSpan.FromMilliseconds(duration)),
};
_Storyboard.Completed += (s, e) => { if (callback != null) callback.Invoke(); };

// force Scale Transform
var _ScaleTransform = new ScaleTransform() { ScaleX = from, ScaleY = from };
food.RenderTransform = _ScaleTransform;

// animate X
var _AnimateX = new DoubleAnimation { From = from, To = to };
_Storyboard.Children.Add(_AnimateX);
Storyboard.SetTarget(_AnimateX, _ScaleTransform);
Storyboard.SetTargetProperty(_AnimateX, new PropertyPath(ScaleTransform.ScaleXProperty));

// animate Y
var _AnimateY = new DoubleAnimation { From = from, To = to };
_Storyboard.Children.Add(_AnimateY);
Storyboard.SetTarget(_AnimateY, _ScaleTransform);
Storyboard.SetTargetProperty(_AnimateY, new PropertyPath(ScaleTransform.ScaleYProperty));

// start
_Storyboard.Begin();

Есть ли что-то очевидное?

1 Ответ

0 голосов
/ 14 июня 2012

Начальное значение Transform должно быть установлено до анимации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...