I am listening for PreviewTouchDown at a Canvas, and its working fine.
The problem is that when a user clicks by the mouse over an image, then touches the Canvas, the touch event won’t get triggered by the first touch, but only after, it looks like that the first touch focuses the Canvas only, then Canvas will be ready for touch events.
The problem only occurs when the user click the image by mouse.
It seems that its a matter of focus, but, I am not sure.
Any idea ?
Try setting the focus of the Canvas when the mouse moves back into the Canvas on a TouchEnter event by using Canvas.Focus() method. It certainly sounds like a focus issue because you have clicked on the image therefore removing the focus from the Canvas.
A useful tool to check if your assumption is true would be Snoop. I find it extremely useful to sort out focus issues.