我有以下情節提要:編程扭轉故事板
<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(this,true)時,應用程序再次出現,但對於第一毫秒的按鈕處於其最後位置。
我然後試圖storyBoard.seek(TimeSpan.Zero)隱藏窗口之前,但它未能:
System.Windows.Media.Animation 警告:6:無法,因爲指定的故事板執行操作 是 從未應用於此對象的 互動控制。行動=「尋求」; Storyboard ='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(本)隱藏窗口之前,相同的效果:所述按鈕處於它們的最後位置。
任何想法?
謝謝。
停止做反向的動畫效果 - 但顯然它是瞬間的,而不是反其動畫。 – McGarnagle 2012-11-20 00:42:03