I would love to be able to use a regular MouseBinding
to capture a CTRL-Click event on my TextBlock
. Unfortunately the Command
property is not a dependency property and I'm using MVVM, so I can't bind it to my viewmodel.
How could Microsoft have left out this basic functionality? Are there no easy ways to detect CTRL-Clicks and bind them to a command in my viewmodel?
Originally I believe I was referring to the use of
TextBlock
'sInputBindings
member.In .NET 4
InputsBinding
s now inherit fromFreezable
, so now theCommand
property is dependency property (see Binding support in InputBindings), solving the binding issue.If you are stuck with .NET 3.5 you could create some attached properties for any type of event that you want. In your
OnCommandChanged
function add the event handler, and filter based on modifiers (like theControl
key or theClickCount
) in yourPropertyChangedCallback
method.You could always take a look at using Attached Command Behaviours.