2008-11-06 3 views
1

끌어서 놓기 작업 중에 CaptureMouse()를 사용하여 MouseUp 이벤트를 놓치지 않도록합니다. 그러나 마우스 이벤트가 다른 개체에 도달하지 못하는 것 같습니다. 내 캔버스. 즉, IsMouseOver 기반 트리거는 작동하지 않지만 개체를 ​​삭제할 수있는 유효한 위치를 나타내야합니다.MouseCapture는 모든 마우스 기반 트리거가 WPF에서 실행되는 것을 방지합니다.

내가 잘못하고있는 것입니까, 아니면 내 캔버스의 모든 항목이 마우스 이벤트를 계속 가져 오는지 확인할 수있는 방법이 있습니까?

답변

5

요소가 캔버스의 하위 트리에 속해 있습니까? 또는 캔버스 밖에서? 그들이 그 안에 있다면 CaptureMode을 취하는 Capture 메소드를 사용할 수 있습니다.

Mouse.Capture(elementToCapture, CaptureMode.SubTree); 

또는, DragDrop class보고 대신 Drop event을 사용하는 것이 좋습니다?

+0

드래그 한 연결을 약간 오프셋하여 마우스가 드래그되는 동안 마우스 아래에 있지 않으면 첫 번째 옵션이 작동했습니다. 감사! –

관련 문제