большое спасибо заранее.WPF Animation StoryBoard SpeedRatio меняется, но не имеет эффекта
Я натолкнулся на странное поведение. У меня есть метод ниже, который называется правильно, никаких проблем не найдено. AnimationRunning - логическое значение, которое правильно оценивает true, но фактическая скорость анимации остается прежней, даже если значение, сохраненное в SpeedRatio, изменяется (как видно на ярлыке строки состояния), фактическая скорость анимации остается неизменной.
private void TextBoxTyping(object sender, KeyEventArgs e)
{
if (AnimationRunning == true) { StoryBoard.SpeedRatio += 5; };
statusbar.Content = "Speed: " + StoryBoard.SpeedRatio.ToString();
}
Чтобы проверить, оценивает ли AnimationRunning к истине, я выскочил в MessageBox.Show («Анимация работает»); внутри закрытие. И сообщение выскочит.
Однако, если изменить код на следующее:
private void TextBoxTyping(object sender, KeyEventArgs e)
{
StoryBoard.SpeedRatio += 5;
statusbar.Content = "Speed: " + StoryBoard.SpeedRatio.ToString();
}
Скорость анимации делает изменения. Я не могу понять, как с AnimationRunning быть правдой, я не могу заставить SpeedRatio работать внутри оператора if ...
Может помочь свету в этом бедном моем уме? Спасибо ...
StoryBoard существует внутри открытого частичного класса MainWindow: Window –
Не уверен, что я полностью не могу изменить. Я могу изменить скорость анимации во время ее запуска, если применить изменение скорости за пределами if-statement. –
Speed! = Timeline, мой плохой. Я бы рекомендовал вам написать [mcve] (http://stackoverflow.com/help/mcve). Есть большие шансы, что вы сами обнаруживаете проблему (обычно, когда вы не можете воспроизвести проблему). Если вам это удастся, опубликуйте его здесь, некоторые важные детали отсутствуют в вашем примере кода в настоящее время. – Sinatr