2010-01-21 2 views
4

.net 4 베타 2 터치 라이브러리를 사용 중이며, 내 WPF 애플리케이션에서 확대/축소 기능을 구현하려고합니다.WPF 4 터치 이벤트가 꼬집음 동작의 중심을 얻습니다.

나는 확대/축소 작업을 훌륭하게 할 수 있지만 핀치 제스처의 중심을 확대하고 싶습니다.이를 수행하는 방법에 대해서는 API에서 아무것도 볼 수 없습니다.

핀치 제스처에서 사용하고있는 두 개의 연락처를 노출하는 몇 가지 방법이나 속성이있어서 그 가운데를 가져올 수 있습니까?

편집 :

난 그냥 내가 원하는 걸 줄 것 같지 않았다 TouchEventArgsGetIntermediateTouchPoints 방법을 사용하여 조사 하였다.

덕분에 많은 마크

답변

0

나는 그 속성이 내 앞에서 내 앞에 있다는 것을 알게되었습니다. 임 그냥과를 사용하므로

Manipulation2DDeltaEventArgs 클래스, OriginXOriginX 속성 특정 핀치 제스처의 중심 포인트가 자사의이 대답은 닷넷 4 릴리스 버전입니다 :)

0

TouchXxxxEvent 라우팅 이벤트를 사용하는 가정은, 그들은 모두 TouchDevice 속성이있는 TouchEventArgs을. GetTouchPoint() 메서드를 호출하면 접촉 지점을 나타내는 TouchPoint을 얻을 수 있습니다.

더 많은 것 details and sample code 하이메로드 리 게스.

+0

나는 순간에'TouchDown' 이벤트를 사용하고 있지만, 필자가 실제 조작에 대한'ManipulationDelta'를 사용하여. 나는 GetIntermediateTouchPoints' 메쏘드를 볼 수 있는데, 그 다음에 어떤 메신저가 될 수있다 ... – Mark

+0

그 방법은 내가 원하는 것을하지 않는 것처럼 보이지 않는다. 그래서 지금은 두 곳 사이의 거리를 계산할 수있다. 그들 ... 못생긴! – Mark

0

모든 좋은.

ManipulationDelta 이벤트를 사용하는 경우 ManipulationDeltaEventArgs.ManipulationOrigin에는 핀치 제스처의 중심점이 포함됩니다. 좌표는 ManipulationDeltaEventArgs.ManipulationContainer에 대한 상대 값이며 처리기에서 ManipulationStarting 이벤트로 설정할 수 있습니다.

예제 코드 :

private void object_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) 
{ 
    ... 
    // If this was a multitouch gesture 
    // (like pinch/zoom - indicated by e.DeltaManipulation.Scale) 
    // the following line will get us point between fingers. 
    Point position = e.ManipulationOrigin; 
    ... 
} 
관련 문제