2010-04-19 8 views
13

DragDrop.DoDragDrop (...)으로 Drag 작업을 시작한 후 더 이상 MouseMove 이벤트가 발생하지 않습니다. 심지어 시도해 보았습니다DoDragDrop이 MouseMove 이벤트를 비활성화합니다.

여기서 마지막 매개 변수는 내가 처리 된 이벤트를 선택한다는 것을 의미합니다. MouseMove 이벤트가 전혀 실행되지 않는 것처럼 보이는 것은 아닙니다! DragModel을 사용하는 동안 MouseMove 이벤트를 계속 얻는 방법은 무엇입니까? & Drop? 드래그하고 싶습니다. & 컨트롤을 드래그하는 동안 마우스 포인터를 따라 가면서 드래그하십시오. 이 경우 어떻게해야할까요?

+0

이 메시지 스레드는 또한보고있는 내용을 정확히 확인합니다. http://social.msdn.microsoft.com/Forums/en/wpf/thread/1053aaa4-d8b6-48d7-8d53-2af98e60d542 –

답변

9

DragOver event을 처리해야합니다.

EDITDoDragDrop이라는 컨트롤에서 GiveFeedback event을 처리 해보십시오. 그게 당신이 찾고있는 것을 할 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그래서 내 윈도우의 모든 컨트롤에 dragover를 추가하고 컨트롤을 이동시키는 하나의 이벤트 핸들러를 가리 키도록해야할까요? –

+0

그렇게 생각합니다. (나 자신을 한번도 해본 적이 없다.) – SLaks

+0

마침내 커서 위치를 얻기 위해 WinApi를 사용했지만, 때때로 dragover를 사용하는 경우도있다. http://blogs.msdn.com/b/jaimer/archive/2007/07/12/drag-drop-in-wpf-explained-end-to-end.aspx를 참조하십시오. –

0

DragDrop.DoDragDrop 구성이란 무엇입니까? DoDragDrop은 DragDrop이 아니라 실제로 MouseDown/MouseMove 메서드에서 호출되도록되어 있습니다. 프로 시저를 처리하기 시작합니다. 드롭에 대해 반응하지 말아야합니다 (방금 DragDrop에서 직접 구현 한 드롭의 원하는 효과). MouseMove는 이미 드래그하는 동안 실행되지 않습니다. 아마도 당신이 프로 시저를 설정했기 때문에 아마도 당신과 함께 실행되지 않습니다. 나는 당신이이 잘못된 길을 다루는 것 같아요, 여기에 하나의 예가 있습니다 http://msdn.microsoft.com/en-us/library/aa984430%28v=vs.71%29.aspx.

관련 문제