如何在C#WPF中的画布上侦听鼠标左键?

问题描述:

我试图听我的窗口上的任何地方点击鼠标(除了按钮的位置,但稍后我会处理),然后返回该位置的点(x,y)。如何在C#WPF中的画布上侦听鼠标左键?

这里是有关的代码:

private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    Console.WriteLine("mouseLeft is clicked"); 
    Point x = e.MouseDevice.GetPosition(this); 
    Console.WriteLine(x.X); 
    Console.WriteLine(x.Y); 
} 

<Canvas MouseLeftButtonDown="Grid_MouseLeftButtonDown"> 

当我点击,没有打印。我究竟做错了什么?第一种方法是在mainWindow.Xaml.cs中。

在此先感谢。

有时在GUI应用程序中不会正确写入控制台,请尝试使用Debug.WriteLine,MessageBox.Show或设置断点以查看是否正在触发事件。

你在那里的代码看起来非常好。

+0

我刚用过messagebox.show,没运气。该方法未被调用。 – Cody 2010-11-11 18:17:48

+0

你的画布上有什么或者它是空白的吗? – scmccart 2010-11-11 18:21:00

+0

我有3个按钮,但它是空白的。 – Cody 2010-11-11 18:21:49

将背景设置为透明并设置画布大小!