我无法弄清楚如何在运行时移动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