2010-11-11 12 views
3

J'essaie d'écouter pour un clic de souris n'importe où sur ma fenêtre (sauf pour les endroits où les boutons sont, mais je traiterai de cela plus tard) et ensuite retourner le point (x, y) de l'emplacement.Comment puis-je écouter des clic-clac gauche sur un canevas dans un C# WPF?

ici est le code correspondant:

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"> 

Lorsque je clique, rien est imprimé. Qu'est-ce que je fais de mal exactement? La première méthode est à l'intérieur de mainWindow.Xaml.cs.

merci d'avance.

Répondre

3

Parfois, les éléments ne seront pas correctement écrits sur la console dans les applications graphiques, essayez Debug.WriteLine, MessageBox.Show ou définissez un point d'arrêt pour voir si l'événement est déclenché.

Le code que vous avez ici semble parfaitement bien.

+0

Je viens d'utiliser messagebox.show, pas de chance. La méthode n'est pas appelée. – Cody

+0

Y a-t-il quelque chose dans votre toile ou est-ce vide? – scmccart

+0

J'ai 3 boutons, mais il est vide à part ça. – Cody

5

Définir l'arrière-plan à la transparence et définir la taille de la toile!