我在處理畫布上的鼠標事件時遇到問題。我想用鼠標繪製它,並且我已經提出了這些事件處理程序,但是當我開始繪製時它們不會執行任何操作。WPF - 在畫布上繪製鼠標事件
private void paintSurface_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ButtonState == MouseButtonState.Pressed)
currentPoint = e.GetPosition(this);
}
private void paintSurface_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
Line line = new Line();
line.Stroke = SystemColors.WindowFrameBrush;
line.X1 = currentPoint.X;
line.Y1 = currentPoint.Y;
line.X2 = e.GetPosition(this).X;
line.Y2 = e.GetPosition(this).Y;
currentPoint = e.GetPosition(this);
paintSurface.Children.Add(line);
}
}
你能告訴我什麼是缺失或如何重寫它,以便它可以開始工作,幫助我嗎?
沒錯。這正是我所做的。謝謝。 –
如何更新點擊捕獲來解決菜單造成的偏移? – Benjin
而不是在GetPosition中傳遞對窗口的引用,而是傳遞對Canvas的引用,而不是將coords與其相關聯。 – Andy