본문 바로가기

카테고리 없음

[C#] Windows Touch Press and Hold Event

Windows 8에서 WPF 로 터치를 필요로 하는 프로그램을 개발을 하다가

 

터치를 하고 일정시간을 기다리면 발생하는 기능이 필요했습니다.

(윈도우에서 위와 같은 제스쳐를 사용하면 마우스 우클릭 효과가 발생합니다.)

 

마땅한 이벤트를 찾지못하면 대충 타이머라도 이용해 구현하려고 했지만

 

이벤트들을 찾다보니 쓸만한 이벤트가 존재했습니다.

 

바로 StylusSystemGesture 입니다.

 

터치를 하고 일정시간을 기다리면 이벤트가 발생하고 StylusSystemGestureEventArgs

 

SystemGesture는 제가 취한 동작에 대한 값을 반환합니다.

(위의 동작시 HoldEnter 라는 값을 반환합니다. )

 

물론 StylusSystemGesture 는 이름 그대로 SystemGesture 가 발생할 때마다 이벤트를 발생시킵니다.

 

그렇기 때문에 위에서 언급한 Press and Hold 같은 동작이나 Drag, 그외에 기본적으로 정해져있는

 

동작을 알아내는데 사용할 수 있습니다.

(Touch나 Manipulation 이벤트로 작업하기 어려운 부분은 이 이벤트가 도움이 될 것 같습니다.)