У меня есть следующая раскадровка:Программные обратный раскадровки
<Window.Resources>
<Storyboard x:Key="ButtonsAnim">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="topRightButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="-100"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="topRightButton" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="100"/>
...
Это в основном двигается несколько кнопок вокруг в холсте.
Это код, который запускает анимацию:
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
Storyboard sb = (Storyboard)Resources["ButtonsAnim"];
storyBoard = sb;
storyBoard.Begin(this, true);
}
То, что я пытаюсь сделать, это сбросить анимацию, когда я нажимаю кнопку, которая скрывает окно. Когда окно снова появится, анимация должна начинаться с самого начала.
Я попытался использовать storyBoard.Begin (это, правда), когда приложение снова появится, но для этого первого миллисекунды кнопки находятся на последнем месте.
Затем я попытался storyBoard.seek (TimeSpan.Zero), прежде чем скрыть окно, но оно не:
System.Windows.Media.Animation Предупреждение: 6: Невозможно выполнить действие из-за указанного раскадровки был не применялся к этому объекту для интерактивного управления; Действие = 'Seek'; Раскадровка = 'System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode = '24901833'; Storyboard.Type = 'System.Windows.Media.Animation.Storyboard'; TargetElement = 'System.Windows.Media.Animation.Storyboard'; TargetElement.HashCode = '24901833'; TargetElement.Type = «» System.Windows.Media.Animation.Storyboard
Я также попытался storyBoard.remove (это), прежде чем скрыть окно, тот же эффект: кнопки находятся на последнем месте.
Любые идеи?
спасибо.
Stop делает обратный эффект анимации - но, видимо, он делает это мгновенно, а не анимировать его в обратном направлении. – McGarnagle