Thanks for the good feedback on how you want to use the gesture triggers. I had considered using attach properties like you suggest but that doesn't expose as much customization as using triggers. Triggers also let the traditional C# developer work normally
but also allow composition of Blend SDK Actions for those that use them. Technically we could expose both but I think that would cause too much confusion.
We can change the sender of the event to be the associated object. That makes more sense. Is there any other information that you'd find useful in the EventArgs? Anything about the start or duration of the gesture?
On your hold gesture patch -- TagGestureTrigger already has a hold feature. The customizable properties are:
Mode = Long or Regular
When you set Mode="Long", such as this:
<gesture:TapGestureTrigger Tap="grid_Tapped" Mode="Long"/>
Then it configures the min and max milliseconds to only respond to a long tap, or a hold.
You can actually submit patches on the Source Code tab if you click upload patch, and can associate it with a work item.
I know I need more documentation on these features so I'm sorry that you went through the trouble of creating a HoldGesture* when the functionality was already there.