Как я могу прослушивать щелчки левой кнопкой мыши на холсте в C# WPF?

Я пытаюсь прослушать щелчок мышью в любом месте моего окна (за исключением мест, где находятся кнопки, но я рассмотрю это позже), а затем вернуть точку (x,y) местоположения.

вот соответствующий код:

 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.

заранее спасибо.

2 ответа

Установите прозрачный фон и установите размер холста!

Иногда вещи не будут правильно записываться на консоль в приложениях с графическим интерфейсом, попробуйте использовать Debug.WriteLine, MessageBox.Show или настроить точку останова, чтобы увидеть, запускается ли событие.

Код у вас там выглядит отлично.

Другие вопросы по тегам