我只能在WPF中的图片上找到MouseDown事件和MouseUp事件。 这会导致一些问题,如果我在某些图像上执行MouseDown,则在某些其他图像上移动鼠标和MouseUp事件。 是否有任何其他事件可以用来解决此问题。像ButtonClick事件的Button元素。WPF:图片点击事件
4
A
回答
9
如果您确实必须使用图片,那么您可以执行一些操作来检查“点击”。
检查两个事件之间的时间。如果它小于您的阈值,则将鼠标视为点击。您需要存储鼠标停止事件的时间。
检查两个事件的
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
事件,再次。
4
您确定只需要一张图片,或者您是否真的想要一个图片作为内容的按钮?带有图像的按钮将具有点击事件。
相关问题
- 1. WPF图像控制与点击事件
- 2. wpf datagrid点击事件
- 3. 缩放图片上的点击事件
- 4. WPF图片/呈现事件
- 5. 如何处理图片点击按钮点击事件
- 6. 旋转图片的点击WPF
- 7. 点击图片
- 8. 按钮点击事件不上升wpf
- 9. Windows窗体,WPF鼠标点击事件
- 10. WPF按钮需要点击两次点击事件
- 11. 在WPF内部的WPF控件上实现点击事件
- 12. 可点击图片
- 13. JavaScript - 点击图片
- 14. Datatables - 点击图片
- 15. 图片点击RecyclerView
- 16. 点击事件到图像的一部分WPF
- 17. 如何在图片滚动字段中的图片上实现点击事件?
- 18. WPF Xaml中的事件冒泡点击事件
- 19. 事件点击
- 20. 图片点击计数器事件监听器问题
- 21. Raphaeljs将点击事件添加到饼图的切片
- 22. 用鼠标点击图片框的事件ptrEinstein
- 23. 图表标题图表点击事件
- 24. 地图图钉点击事件
- 25. 点击图片上传图片
- 26. 在图片上添加图片点击
- 27. 替换图片(通过点击图片)
- 28. 控件点击事件点击框
- 29. WPF鼠标单击事件
- 30. WPF按钮单击事件