Я могу найти только событие MouseDown и событие MouseUp на изображении в WPF. Это вызывает некоторую проблему, если я делаю MouseDown на некотором изображении, перемещая мышь, а событие MouseUp происходит на другом изображении. Есть ли какие-либо другие события, которые я могу использовать для решения этой проблемы. как элемент MouseClick Event для Button.WPF: событие с кликом изображения
ответ
Если вы действительно должны использовать изображение, то есть несколько вещей, которые вы можете сделать, чтобы проверить «щелчок».
Проверьте время между двумя событиями. Если это меньше, чем ваш порог, тогда обработайте мышь нажатием кнопки. Вам нужно будет сохранить время события мыши.
Убедитесь, что
sender
обоих событий одинаковы. Снова вам нужно будет сохранитьsender
события мыши.
Возможно, вы также захотите проверить, что нажимается и отпускается левая кнопка.
Объединение двух:
private DateTime downTime;
private object downSender;
private void Image_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
this.downSender = sender;
this.downTime = DateTime.Now;
}
}
private void Image_MouseUp(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Released &&
sender == this.downSender)
{
TimeSpan timeSinceDown = DateTime.Now - this.downTime;
if (timeSinceDown.TotalMilliseconds < 500)
{
// Do click
}
}
}
Там на самом деле третья вещь, которую вы можете сделать: Проверьте положение мыши.
private Point downPosition;
сохранить положение:
this.downPosition = e.GetPosition(sender as Image);
затем проверить его в MouseUp
случае, опять-таки со значением допуска.
Вы уверены, что хотите только изображение или хотите нажать кнопку с изображением в качестве контента? Кнопка с изображением будет иметь событие click.
- 1. Почему событие с правым кликом не работает в WPF?
- 2. jQuery событие с непредвиденным кликом
- 3. Событие с кликом не активировано
- 4. WPF StackPanel с кликом и DoubleClick
- 5. Событие запуска изображения WPF
- 6. PictureBox - Событие кликов с кликом на непрозрачной области изображения
- 7. Событие с кликом JQuery не работает
- 8. WPF DataGrid начать редактирование с двойным кликом не одним кликом
- 9. Событие с кликом Listview не работает
- 10. подписаться на событие с объектом изображения - WPF
- 11. Silverlight: Событие с кликом несколько раз
- 12. Как удалить событие с одним кликом?
- 13. Событие с кликом FrameLayout не срабатывает
- 14. WPF Button с ContextMenu под левым кликом
- 15. Как получить событие с одним кликом на изображении в столбце DevExpress Grid Control с помощью wpf?
- 16. Событие с кликом мыши не запускается в chrome
- 17. Получение динамического изображения через событие в WPF
- 18. Проблема с динамическим кликом
- 19. Событие динамического управления кликом не срабатывает правильно
- 20. Как изменить событие onclick другим кликом?
- 21. Событие с кликом, не работающее с динамически добавленным диапазоном
- 22. Кнопки не работают над одним кликом Wpf
- 23. Knockoutjs attr с кликом
- 24. jQuery событие с одним кликом для нескольких элементов
- 25. Системный лоток notifyIcon не принимает событие с левым кликом
- 26. Событие с раскрывающимся кликом в php и ajax
- 27. Как связать событие с кликом для команды Kendo?
- 28. Событие с кликом, не срабатывающее на ярлыке в GWT
- 29. Создайте список asp.net с кликом \ дважды щелкните событие
- 30. Событие с кликом мыши не работает для предложений автозаполнения