2016-08-09 4 views

ответ

2

Вы можете подписаться на PreviewMouseDown и PreviewTouchDown.

Page.xaml

<Button PreviewMouseDown="Button_PreviewMouseDown" 
     PreviewTouchDown="Button_PreviewTouchDown" /> 

Page.xaml.cs

private void Button_PreviewMouseDown(object sender, MouseButtonEventArgs e) 
    { 
     MessageBox.Show("Mouse was used."); 
    } 

    private void Button_PreviewTouchDown(object sender, TouchEventArgs e) 
    { 
     MessageBox.Show("Touchscreen was used."); 
    } 

Я не верю, что вы будете в состоянии получить доступ к EventArgs либо в реальной мыши мероприятие.

Если вам нужно выполнить работу там, в отличие от событий предварительного просмотра, я бы рекомендовал установить переменную экземпляра в событиях предварительного просмотра, поэтому, когда вы дойдете до события click, вы знаете, откуда вы пришли.

+0

Отличный ответ, большое вам спасибо за ваш вклад. Мне особенно нравится ваше последнее предложение, так как это в конечном итоге то, что я пытаюсь сделать. – John

0

Вам необходимо настроить обработчик событий. В дизайнере дважды щелкните по кнопке, и она будет установлена ​​для вас.

Затем в коде позади добавить код, который вы хотите.

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    this.Title = "Clicked"; 
} 

Вы можете добавить сенсорные события, а приземление, подкраски и т.д.

+0

Но как вы знаете, если событие щелчка было связано с помощью мыши или сенсорного экрана? – John

+0

Я не верю, что событие click начнет срабатывать прикосновением, вам нужно настроить прикосновение даже для этого. Моя сенсорная панель сломана сегодня, поэтому я могу проверить, но я думаю, вам нужно настроить для этого один из обработчиков событий касания. Также мышь передаст MouseEventArgs с нажатой кнопкой, но сенсорная панель не будет – GreatJobBob

0

Windows 7 и его более высокие версии имеют возможность принимать входные сигналы от нескольких сенсорных устройств. Приложения WPF также могут обрабатывать сенсорный ввод как другой вход, например мышь или клавиатуру, путем увеличения событий при наступлении.

WPF предоставляет два типа событий при наступлении прикосновения - события касания и события манипуляции. События Touch предоставляют сырые данные о каждом пальце на сенсорном экране и его движении. Манипулирующие события интерпретируют ввод как определенные действия. Оба типа событий обсуждаются в этом разделе.

WPF позволяет приложениям реагировать на прикосновение. Например, вы можете взаимодействовать с приложением, используя один или несколько пальцев на сенсорном устройстве, таком как сенсорный экран. В этом пошаговом руководстве создается приложение, которое позволяет пользователю перемещать, изменять размер или вращать один объект с помощью касания.

Источник MSDN: https://msdn.microsoft.com/en-us/library/ee649090.aspx

прочитать Также эту Codeproject статью - http://www.codeproject.com/Articles/692286/WPF-and-multi-touch

 Смежные вопросы

  • Нет связанных вопросов^_^