Есть ли способ отличить, была ли нажата кнопка нажата с помощью мыши или коснулась сенсорного экрана в WPF?Как определить, была ли нажата или нажата кнопка?
ответ
Вы можете подписаться на 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, вы знаете, откуда вы пришли.
Вам необходимо настроить обработчик событий. В дизайнере дважды щелкните по кнопке, и она будет установлена для вас.
Затем в коде позади добавить код, который вы хотите.
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Title = "Clicked";
}
Вы можете добавить сенсорные события, а приземление, подкраски и т.д.
Но как вы знаете, если событие щелчка было связано с помощью мыши или сенсорного экрана? – John
Я не верю, что событие click начнет срабатывать прикосновением, вам нужно настроить прикосновение даже для этого. Моя сенсорная панель сломана сегодня, поэтому я могу проверить, но я думаю, вам нужно настроить для этого один из обработчиков событий касания. Также мышь передаст MouseEventArgs с нажатой кнопкой, но сенсорная панель не будет – GreatJobBob
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
- 1. Как определить, была ли нажата кнопка «Вверх»
- 2. Как определить, была ли нажата конкретная кнопка?
- 3. Как определить, была ли нажата кнопка «Назад» или кнопка «Вперед»?
- 4. определить, как кнопка была нажата в javascript
- 5. Проверка, была ли нажата кнопка
- 6. Как определить, какая кнопка была нажата.
- 7. Как определить, какая кнопка удаления была нажата?
- 8. Проверьте, была ли нажата кнопка.
- 9. Как определить, какая кнопка была нажата
- 10. Как определить, какая кнопка была нажата
- 11. Как определить, какая кнопка была нажата?
- 12. Запросить, была ли нажата кнопка
- 13. проверьте, была ли нажата кнопка.
- 14. Как определить, нажата ли кнопка или нет
- 15. Oracle Forms - определить, какая кнопка была нажата
- 16. Определить, какая кнопка была нажата внутри div
- 17. Определение того, была ли нажата кнопка JButton
- 18. Как проверить, была ли нажата кнопка
- 19. , определяя, была ли нажата кнопка пользователя
- 20. Как проверить, была ли нажата кнопка facebook?
- 21. Как определить, была ли нажата кнопка закрытия в wx.FileDialog?
- 22. Как определить, была ли нажата кнопка мыши в QWebView?
- 23. Определите, какая кнопка была нажата
- 24. UINavigationController: Определить, если кнопка Назад была нажата или popViewControllerAnimated
- 25. Как определить, была ли нажата конкретная клавиша?
- 26. Обнаружив, какая кнопка была нажата
- 27. Unity, Как определить, нажата ли кнопка OnGUI
- 28. Android: Какой была нажата кнопка
- 29. Попытка определить, была ли нажата кнопка мыши внутри области окна
- 30. Проверка которых была нажата кнопка
Отличный ответ, большое вам спасибо за ваш вклад. Мне особенно нравится ваше последнее предложение, так как это в конечном итоге то, что я пытаюсь сделать. – John