CLOSE SEARCH

Windows Phone 7 터치 이벤트

윈도우즈 폰용 실버라이트에서는 고수준과 저수준의 두가지 멀티터치 프로그래밍 인터페이스를 제공한다.

먼저, 고수준의 인터페이스에는 UIElement 클래스의 ManipulationStarted, ManipulationDelta, ManipulationCompleted 이벤트가 있고, 저수준의 인터페이스에는 Touch.FrameReported 정적 이벤트가 있다.

 

– ManipulationStarted, ManipulationDelta, ManipulationCompleted 이벤트를 통한 고수준의 터치 이벤트 설정

 

– 이벤트 라우팅
사용자가 화면에 특정부분을 터치하면  화면상 최상위에 있는 엘리먼트에서 Manipulation 이벤트가 발생한다. 해당 엘리먼트에서 터치를 처리하지 않거나 필요가 없는 경우 화면의 계층 구조를 따라 PhoneApplicationFrame 엘리먼트까지 전달된다. 전달되는 중간에 이벤트 파라미터의 Handled 속성을 True로 설정해주면 사용자가 해당 위치에서 터치 이벤트를 정상적으로 처리했다는 의미이므로 더 이상 상위로 전달되지 않는다.

 

– Touch.FrameReported 정적 이벤트를 통한 저수준의 터치 이벤트 설정

 

저수준의 터치 인터페이스에서 화면에 닿아 있는 각 터치는 TouchPoint 클래스를 통해 나타낸다. 이 클래스는 다음과 같은 속성을 가지고 있다.

  • Action : 터치의 동작 형태를 나타내는 TouchAction 열거형 값.(Down, Move, Up)
  • Position : 터치의 위치
  • Size : 터치된 영역의 넒이는 나타내는 값이지만 디스플레이에서 압력센서를 지원하지 않는 경우 크게 의미 없는 값이다.
  • TouchDevice : 터치를 구분할 수 있는 ID와 터치 대상 엘리먼트(DirectlyOver)를 포함하고 있는 객체

Filed under: Windows & Windows Phone