2010-12-08 34 views

回答

2

您需要使用TranslateTransform移動元素:

<Rectangle Width="50" Height="50" HorizontalAlignment="Left" VerticalAlignment="Top" Fill="Red"> 
    <Rectangle.RenderTransform> 
      <TranslateTransform x:Name="myTranslateTransform" /> 
    </Rectangle.RenderTransform> 
</Rectangle> 

然後,您可以在代碼中引用:

myTranslateTransform.X = 30; 
myTranslateTransform.Y = 100; 

然而,「正確」的方式(也可以做這樣其他的事情喜歡動畫的翻譯)是設置了轉換的VisualStateManager和使用值而不是直接像上面那樣操縱代碼中的值。

+0

謝謝。這樣可行。 – punkouter 2010-12-09 22:20:33

1

如果在畫布上,請設置Canvas.LeftPropertyCanvas.TopProperty值。下面是從我的項目之一,可謂物美價廉,移動(矩形)腳:

 // at startup: 
     _rightFoot = new Rectangle(); 
     _myCanvas.Children.Add(_rightFoot); 

     // during animation cycle: 
     _rightFoot.SetValue(Canvas.LeftProperty, _xRight - _footWidth/2); 
     _rightFoot.SetValue(Canvas.TopProperty, _yRight - _footHeight/2); 
+0

謝謝。似乎是一種不用我猜測的XAML來做同樣的事情的方法。 – punkouter 2010-12-09 22:21:36

相關問題