我無法弄清楚如何在運行時移動WPF形狀。具體來說,我想移動一個橢圓。移動WPF形狀
這是我的當前代碼:
private void Tick(object sender, EventArgs e)
{
Point ballLocation = ball.TransformToAncestor(Application.Current.MainWindow).Transform(new Point(0, 0));
//MessageBox.Show(ballLocation.ToString());
Canvas.SetLeft(ball, ballLocation.X + 5);
InvalidateVisual();
}
每次計時器滴答(1秒)的球應移動在x方向上5個像素,是否正確?如果這是錯誤的,我如何獲取Ellipse的當前位置,以及如何將它設置到新的位置。也許InvalidateVisual存在問題?我相信基本上重新繪製了控制。如果這是錯誤的,我該如何重新繪製橢圓以顯示其位置變化。我也嘗試ball.InvalidateVisual(),它沒有工作。
這是我如何創建和啓動定時器:
var timer = new DispatcherTimer {IsEnabled = true};
timer.Tick += Tick;
timer.Interval = new TimeSpan(0, 0, 1);
timer.Start();
我試過了,它沒有工作。 – tentmaking 2013-03-02 18:55:55
你如何創建和啓動計時器? – Clemens 2013-03-02 19:09:37
我將該代碼添加到帖子 – tentmaking 2013-03-02 19:18:46