Question

J'aimerais pouvoir utiliser un MouseBinding classique 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. Je ne peux donc pas la lier à mon modèle de vue.

Comment Microsoft aurait-il pu omettre cette fonctionnalité de base? Existe-t-il des moyens simples de détecter les clics CTRL et de les lier à une commande dans mon modèle de vue?

Était-ce utile?

La solution

Vous pouvez toujours consulter Commande associée. Comportements .

Autres conseils

À l’origine, je pensais faire référence à l’utilisation du membre InputBindings de TextBlock .

Dans .NET 4, InputsBinding hérite désormais de Freezable . La propriété Command est donc maintenant la propriété de dépendance (voir Prise en charge de la liaison dans InputBindings ), résolvant le problème de la liaison.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top