locked
Multiple Touch Points on 'Canvas'

    Question

  • The Holding event handler for Canvas gets triggered when the user holds down a finger, and I can figure out the position (Canvas.Left and Canvas.Top) and put in the appropriate code (create a menu-with-buttons UserControl at that point).

    Problem : When two or more fingers are pressed down on the Canvas at the same instant, either the Holding event doesn't get triggered at all or (at times) only one of them gets triggered.

    Objective : When a user press-holds on the canvas with multiple fingers, I want to get all of the touch points, perhaps by iterating through each one or some such method.

    How would I go about doing this ?

    Wednesday, September 17, 2014 5:05 AM

Answers

  • Per the guidelines manipulation events such as holding aren't based on the number of fingers. A one-finger hold and a two-finger hold and a ten-finger hold are all just a hold.

    If you need different behaviour in your app then you'll need to generate it from the lower level Pointer messages rather than from the higher level gestures and manipulations API. By handling PointerPressed, PointerMoved, PointerReleased, etc. your app can track as many fingers as the system supports however the app needs.

    Wednesday, September 17, 2014 2:58 PM
    Owner