2009-09-15 3 views
5

J'aimerais pouvoir utiliser un MouseBinding régulier pour capturer un événement CTRL-Click sur mon TextBlock. Malheureusement la propriété Command n'est pas une propriété de dépendance et j'utilise MVVM, donc je ne peux pas le lier à mon viewmodel.Si nous ne pouvons pas lier une commande de MouseBinding, que devons-nous faire?

Comment Microsoft aurait-il pu omettre cette fonctionnalité de base? N'y a-t-il pas des moyens faciles de détecter les clics CTRL et de les lier à une commande dans mon viewmodel?

+0

Toujours pas d'autres solutions, sauf pour cette bibliothèque? –

Répondre

4

À l'origine, je crois que je parlais de l'utilisation du membre TextBlockInputBindings.

Dans .NET 4 InputsBinding s héritent maintenant de Freezable, maintenant la propriété Command est propriété de dépendance (voir Binding support in InputBindings), la résolution de la question de liaison.

Si vous êtes bloqué avec .NET 3.5, vous pouvez créer des propriétés jointes pour tout type d'événement que vous souhaitez. Dans votre fonction OnCommandChanged, ajoutez le gestionnaire d'événements et filtrez en fonction des modificateurs (comme la clé Control ou ClickCount) dans votre méthode PropertyChangedCallback.

+0

Le lien est rompu. – Deantwo

+1

Le lien est mis à jour. –

Questions connexes