我只能在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按鈕單擊事件