如何在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或设置断点以查看是否正在触发事件。
你在那里的代码看起来非常好。
答
将背景设置为透明并设置画布大小!
我刚用过messagebox.show,没运气。该方法未被调用。 – Cody 2010-11-11 18:17:48
你的画布上有什么或者它是空白的吗? – scmccart 2010-11-11 18:21:00
我有3个按钮,但它是空白的。 – Cody 2010-11-11 18:21:49