J'ai une classe dérivée de contrôle personnalisé et un modèle de vue pour aller avec. L'utilisateur peut effectuer plusieurs actions avec ce contrôle, et je pense qu'il est préférable de les implémenter en tant qu'objets RoutedCommand ou objets dérivés ICommand dans le modèle de vue afin que les ControlTemplates puissent les lier. La liaison d'une commande à un bouton dans un ControlTemplate doit être simple, mais comment puis-je lier la commande à, par ex. le bouton droit de la souris dans un autre ControlTemplate? Probablement un MouseGesture est impliqué, mais j'ai du mal à assembler les pièces.Comment lier une commande par ex. le bouton droit de la souris dans un ControlTemplate dans WPF?
1
A
Répondre
2
Un MouseGesture
est impliqué, mais vous n'avez pas à le construire explicitement. Vous pouvez utiliser un MouseBinding
qui va construire un MouseGesture
pour vous sous le capot.
Vous avez besoin d'un UIElement pour joindre votre liaison. Voici comment vous le feriez avec un décorateur séparé.
<ControlTemplate ...>
<Decorator>
<Decorator.InputBindings>
<MouseBinding MouseAction="RightClick" Command="..." />
</Decorator.InputBindings>
... content here ...
</Decorator>
</ControlTemplate>
Plus probable que votre ControlTemplate utilise un panneau comme un DockPanel ou grille pour la mise en page, dans ce cas, vous pouvez attacher la liaison qu'au lieu d'ajouter un décorateur.
Questions connexes
- 1. WPF: Lier à la commande à partir de ControlTemplate
- 2. Glisser-déposer avec le bouton droit de la souris wpf
- 3. Comment personnaliser le menu contextuel de Windows par défaut avec le bouton droit de la souris
- 4. Style un bouton WPF sur le clic droit de la souris
- 5. Dans WPF, comment obtenir une commande dans un modèle de contrôle pour lier à une propriété dans un parent?
- 6. Comment lier à la propriété SelectedItem dans un ControlTemplate?
- 7. C#: glisser-déposer avec le bouton droit de la souris
- 8. Comment lier la souris
- 9. Dans WPF, comment gérer un événement dans un ControlTemplate ItemsControl
- 10. Lier l'événement au clic droit de la souris
- 11. XAML/WPF: Comment lier une commande à un comboboxitem
- 12. Comment détecter le clic droit de la souris tout en appuyant sur le bouton gauche de la souris dans IE?
- 13. Image Source Dans ControlTemplate WPF
- 14. Comment lier la propriété ControlTemplate Enabled à Opacity dans WPF XAML
- 15. Comment lier des données à un ListBox dans un ControlTemplate?
- 16. Comment créer une application de dictionnaire de traduction avec le bouton droit de la souris?
- 17. wpf: comment afficher l'info-bulle lorsque le bouton est désactivé par une commande?
- 18. Comment désactiver le bouton droit de la souris sur une seule image spécifique
- 19. C# Curseur de déplacement dans RichTextBox avec le bouton droit de la souris
- 20. wpf listview cliquez avec le bouton droit sur le problème
- 21. WPF TabControl ControlTemplate
- 22. Cliquez avec le bouton droit de la souris sur les onglets de feuille désactivés dans Excel
- 23. WPF - Commande dans un objet MenuItem dans un DataTemplate
- 24. Événements de souris spéciaux dans un navigateur: roue, clic-droit?
- 25. Datagrid + Événement clic droit de la souris
- 26. Comment lier un lien hypertexte WPF dans une zone de texte riche à une commande?
- 27. Cliquez avec le bouton droit de la souris pour sélectionner une ligne datagridview
- 28. Puis-je appliquer partiellement un ControlTemplate dans WPF?
- 29. Comment lier une chaîne à doubler dans WPF?
- 30. WPF: Changez la couleur de fond de la bordure avec le bouton gauche de la souris
Bon tour avec le décorateur - je n'avais pas vu ça avant. – hemp
Merci, c'est exactement ce que je cherchais. – absence