ProgramingTip

WPF에서 "마우스 기지"란 무엇을 의미합니까?

bestdevel 2020. 11. 5. 08:20
반응형

WPF에서 "마우스 기지"란 무엇을 의미합니까?


System.Windows.UIElementCaptureMouse()와 쌍을 이루는 ReleaseMouseCapture()방법. WPF DragDrop 샘플 에서는에서는 MouseDown에서 CaptureMouse를 호출하고 MouseUp에서 해제합니다. MSDN문서는 "CaptureMouse-> Captures the mouse"만큼 쓸모가 없습니다.

그것을 시도하기 전에 내 머릿속에서 나는 그것이 어떻게 든 UIElement 경계 안에 마우스를 잠그고 가정했지만 시도했을 때라고합니다. 실험에서 마우스가 UIElement 외부에있을 때 이벤트에 응답하는 것과 관련이있는 것입니다.하지만 화물 컬트 프로그래머 가되고 싶지는. 그것이 의미하는 바에 대한 권위있는 설명.


에서 마우스 및 Uncapture 마우스

MSDN에서 :

마우스 포인터가 다른 개체에 마우스 포인터가 다른 개체가 이벤트를 수행하는 것처럼 마우스 포인터가 마우스 관련 개체가 처리됩니다.

마우스 움직임은 마우스를 놓을 때까지 마우스 이벤트를 수신하기 때문에 끌기에 유용합니다. 모든 드래그 코드는 여러 컨트롤에 분산되지 않고 하나의 컨트롤에 있습니다.


마우스를 마우스를 움직이면 마우스 포인터가 더 이상 경계 영역이없는 컨트롤이 마우스 이벤트를 수신합니다.

일반적으로 다음 용도로 사용됩니다.

  • 끌어서 놓기
  • 버튼 (버튼을 누르기 전에 마우스를 버튼에 놓기 전에 움직일 때 Mouse Up을 처리)

이에 대한 Silverlight 2 설명서 에는 더 자세한 설명이 포함되어있는 이유 3.5 설명서 페이지에 포함되지 않는 것이 없습니다.

개체가 마우스를 마우스 입력하면 개체는 마우스 포인터가 경계 존재하는지 여부에 관계없이 마우스 입력받습니다. 마우스는 일반적으로 시뮬레이션 된 드래그 작업 중 하나입니다.
...

WPF와 동일하게 작동하는 DragDrop과 함께 사용되는 이유는 마우스가 해당 컨트롤 외부에있을 때 드래그 컨트롤에 다시보고하는 방법을 알고 있기 때문입니다. MyCanvas.Capture () 및 Capture (Null)을 주석 처리하면 (삭제됨) 더 이상 처리되지 않습니다.

참고 URL : https://stackoverflow.com/questions/942357/what-does-it-mean-to-capture-the-mouse-in-wpf

반응형