둘 사이의 끌어서 놓기를 허용하는 두 개의 WPF 트리 뷰가있는 프로그램이 있습니다. 마우스 왼쪽 버튼을 누른 채 마우스를 한 픽셀 만 움직이면 드래그/드롭 기능이 트리거되므로 트리 뷰에서 항목을 열거 나 닫는 것이 번거로울 수 있습니다. 끌어서 놓기로 간주하기 전에 마우스를 얼마나 멀리 움직여야 하는지를 지정하는 방법이 있습니까?WPF 끌기 거리 임계 값
8
A
답변
1
드래그 시작 시점을 결정하는 작은 버퍼를 코드에 빌드하기 만하면됩니다. 플래그 마우스 아래
- -이 경우 예, 그 멀리 사용자가 지정한 어떤 버퍼보다 이동 있는지 확인하면 .. 아래로 마우스 검사는
- (3 개 픽셀 아마 좋은) , 끌기를 시작하십시오.
16
여기에는 시스템 매개 변수가 있습니다. 당신이
Point down = {where mouse down event happened}
Point current = {position in the MouseMove eventargs}
이 경우 마우스가
Math.Abs(current.X - down.X) >= SystemParameters.MinimumHorizontalDragDistance ||
Math.Abs(current.Y - down.Y) >= SystemParameters.MinimumVerticalDragDistance)
0
은 드래그에 대한 this 기사를 다음과 구현을 드롭 경우 최소 드래그 거리를 이동, 당신은 드래그를 지연하기 위해 2 개 마우스 이벤트를 처리 할 것 마우스가 일정 거리를 이동할 때까지 먼저 컨트롤에 상대적인 초기 마우스 위치를 저장하는 PreviewMouseDown의 처리기를 추가합니다. 버블 링 이벤트이고 컨트롤에 도달하기 전에 자식 컨트롤에 의해 처리되었을 수 있으므로 MouseDown 이벤트를 사용하지 마십시오.
...
public DraggableControl()
{
...
MouseMove += OnMouseMove;
}
...
private void OnMouseMove(object sender, MouseEventArgs e)
{
// Calculate distance between inital and updated mouse position
var movedDistance = (_initialMousePosition - e.GetPosition(this)).Length;
if (movedDistance > yourThreshold)
{
DragDrop.DoDragDrop(...);
}
}
}
관련 문제
- 1. 적응 형 임계 값
- 2. Android에서보기를 표시하기위한 임계 값
- 3. 레이블에 값 끌기
- 4. 플래시 as3 부드러운 임계 값
- 5. 최적의 CPU 사용률 임계 값
- 6. Matlab의 전역 이미지 임계 값
- 7. matlab에서 두 이미지 사이의 유사도를 계산하기위한 임계 값 선택
- 8. WPF 창을 바탕 화면으로 끌기
- 9. WPF 목록보기에서 여러 항목 끌기
- 10. 기본 커서에서 WPF 끌기 커서
- 11. WPF 끌기 Adorner 동작 애니메이트
- 12. 반복 키 임계 값 변경 C++
- 13. 플렉스 차트에 임계 값 라인 표시
- 14. Highcharts 원형 차트 레이블 임계 값
- 15. AppDomain 리소스 모니터링 및 임계 값 설정
- 16. Android 이미지 문제 및 임계 값
- 17. wpf listview 여러 항목을 선택하여 끌기
- 18. 이중 임계 값을 사용합니다.
- 19. 편집 거리 알고리즘
- 20. ZedGraph - 임계 선 추가하기
- 21. OpenCV의 적응 임계 값 (버전 1 - swig 버전)
- 22. 적응 임계 값 2 진화 : 유령 객체를 제거하기위한 후 처리
- 23. 이중 임계 값 (켜기/끄기)을 사용하거나 사용하지 않음으로
- 24. Simulink (Matlab)에서 자동 임계 값 수식 수정
- 25. 특정 임계 값 아래에있는 배열 항목의 인덱스를 반환하는 방법
- 26. Solr/Lucene에서 특정 점수 임계 값 이하의 결과를 제거 하시겠습니까?
- 27. mask 매개 변수는 BitmapData 클래스의 임계 값 메서드에서 무엇을합니까?
- 28. 모니터 프로세스, 종료 임계 값 이상인 경우 CPU 사용량
- 29. 일치하는 Solr이 (가) 없습니다. 임계 값 설정 또는 뭔가 이상한?
- 30. 이상한 OpenCV 거리 변환 결과
당신이 몇 가지 코드를 게시 할 수 :
또한, MouseMove 이벤트가 이동 한 거리를 확인하고 결국 드래그 작업을 시작하기 위해 처리? – ChrisF