TouchEnter, TouchDown, ManipulationStarting, ManipulationStarted do not fire until a gesture is detected. RRS feed

  • Question

  • I am looking for a touch event in WPF4 that will allow me to detect touch down. 

    I have tried the following events on the UIElement: TouchEnter, TouchDown, ManipulationStarting, and ManipulationStarted. None of them fires until touch up or when a gesture seem detected. For example, when I perform a tap, pan, or pinch, these events fire immediately. But when trying to "tap and hold", these events do not fire until I've held my touch on the same location for some amount of time.  

    I have also considered using Touch.FrameReported where Action is TouchDown. And I notice a different behavior in Silverlight 4 and Windows Phone 7, in that Touch.FrameReported reports immediately on TouchDown.

    I am writing a touch API that supports all three platforms. We have defined our own gestures but the behavior for a "Tap and Hold" gives a considerable amount of wait in WPF4. Since TouchDown would only be reported after a gesture is detected, this increases our threshold to double the intended time.

    Is this a bug? What touch event can I use instead? Is there a better workaround? 

     *** Even PreviewTouchDown does not get raised until the gesture is detected.

    Jennifer Nery
    Tuesday, November 23, 2010 6:10 PM

All replies