WPF의 이미지에서 MouseDown 이벤트 및 MouseUp 이벤트 만 찾을 수 있습니다. 일부 이미지, 마우스 이동 및 일부 다른 이미지에서 MouseUp 이벤트가 발생하면 일부 문제가 발생합니다. 이 문제를 해결하는 데 사용할 수있는 다른 이벤트가 있습니까? Button 요소의 MouseClick 이벤트와 유사합니다.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. TreeView, 더블 클릭 마우스 이벤트 무시 WPF
- 2. 이미지 처리 ContentEditable 영역에서 이벤트 클릭
- 3. Jquery 이미지 추가, 클릭 이벤트 없음
- 4. 이미지 처리 방법 버튼 클릭 이벤트
- 5. UIWebView 클릭 이벤트 클릭
- 6. 클릭 이벤트 내에서 클릭 이벤트 할당
- 7. WPF, Image MouseDown 이벤트
- 8. jQuery 오버레이 클릭 이벤트 트리거 탐색 클릭
- 9. 특정 빌드 환경에서 WPF 클릭 이벤트 트리거링 두 번
- 10. 더블 클릭 이벤트 (WPF)에 대한 목록보기에서 값을 얻는 방법
- 11. WPF ListItem 이벤트 확대
- 12. WPF MouseMove 이벤트 폴링
- 13. PHP 클릭 이벤트 핸들러
- 14. 클릭 이벤트/함수 응축
- 15. 안드로이드에서 AutoCompleteTextView 클릭 이벤트
- 16. jquery 클릭 이벤트
- 17. Jquery 및 클릭 이벤트
- 18. 버튼 클릭 이벤트
- 19. 크리스탈 리포트 클릭 이벤트
- 20. DataGridview의 버튼 클릭 이벤트
- 21. jTable에서 클릭 이벤트 - Java
- 22. HTML5 캔버스 클릭 이벤트
- 23. JQuery와 클릭 이벤트
- 24. 안드로이드 글로벌 클릭 이벤트
- 25. 다수의 클릭 이벤트
- 26. Search 버튼 클릭 이벤트
- 27. Zingchart 클릭 이벤트 처리
- 28. 안드로이드에서 더블 클릭 이벤트
- 29. ButtonField 클릭 이벤트
- 30. JQuery와 클릭 이벤트