2010-11-11 121 views
3

我試圖聽我的窗口上的任何地方點擊鼠標(除了按鈕的位置,但稍後我會處理),然後返回該位置的點(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中。

在此先感謝。

回答

3

有時在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

5

將背景設置爲透明並設置畫布大小!