2012-11-23 99 views
3

我有動態地移動動態創建的矩形的要求。WPF與動畫的矩形運動

我幾乎完成了我的實現,如果我爲每個矩形動態地編寫下面的代碼,我能夠達到預期的結果。

下面的代碼將所需的矩形在X軸上移動50個像素。

TranslateTransform translateTransform1 = new TranslateTransform(50, 0); aRectangle.RenderTransform = translateTransform1; 

問題是,我想這是動畫。下面的代碼被寫入具有與動畫一起移動的相同的直腸,但是給出了完全不同的結果。任何幫助都感激不盡。我希望它能夠通過代碼進行管理,因爲我的矩形將是動態的。

TranslateTransform translateTransform1 = new TranslateTransform(50, 0); 
Duration duration = new Duration(new TimeSpan(0, 0, 0, 1, 0)); 
DoubleAnimation anim = new DoubleAnimation(30, duration); 
translateTransform1.BeginAnimation(TranslateTransform.XProperty, anim); 
aRectangle.RenderTransform = translateTransform1; 

回答

1

嘗試

Duration duration = new Duration(new TimeSpan(0, 0, 0, 1, 0)); 
DoubleAnimation anim = new DoubleAnimation(30, duration); 
aRectangle.RenderTransform = new TranslateTransform(); 
aRectangle.BeginAnimation(TranslateTransform.XProperty, anim); 
+0

在哪裏指定我想通過50個像素移動在X軸上的矩形? – user1847157

+0

通過'aRectangle.BeginAnimation(TranslateTransform.XProperty,anim);'你指定要動畫的屬性和'DoubleAnimation anim = new DoubleAnimation(30,duration);'一個決定停止的地方。所以將30改爲50,它會在x-Axsis上移動50個像素。如果要爲兩個或更多屬性製作動畫,則必須使用「Storyboard」:http://msdn.microsoft.com/zh-cn/library/ms742868.aspx –