我只能在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. 圖片點擊事件
- 2. WPF圖像控制與點擊事件
- 3. WPF Telerik gridview點擊事件
- 4. wpf datagrid點擊事件
- 5. 縮放圖片上的點擊事件
- 6. WPF圖片/呈現事件
- 7. 點擊我的圖片時,jQuery點擊事件未被觸發
- 8. 如何處理圖片點擊按鈕點擊事件
- 9. 旋轉圖片的點擊WPF
- 10. CheckBox點擊事件未觸發(WPF)
- 11. 按鈕點擊事件不上升wpf
- 12. WPF點擊和拖放事件衝突?
- 13. Windows窗體,WPF鼠標點擊事件
- 14. 圖片框,雙擊和單擊事件
- 15. 點擊圖片
- 16. 點擊圖片
- 17. winform + wpf焦點問題(點擊事件不會觸發wpf)
- 18. 圖釘點擊事件
- 19. WPF按鈕需要點擊兩次點擊事件
- 20. 在WPF內部的WPF控件上實現點擊事件
- 21. 點擊事件到圖像的一部分WPF
- 22. WPF Xaml中的事件冒泡點擊事件
- 23. 可點擊圖片
- 24. Datatables - 點擊圖片
- 25. 圖片點擊RecyclerView
- 26. JavaScript - 點擊圖片
- 27. 如何在圖片滾動字段中的圖片上實現點擊事件?
- 28. 點擊事件
- 29. 事件點擊
- 30. 如何在QT中使用點擊事件的圖片文字