J'ai un bouton dans mon application qui est lié à une commande. Ce bouton se trouve à l'intérieur d'un autre contrôle qui réagit également aux coups de souris. Lorsque le bouton est activé, j'obtiens le comportement attendu - cliquez sur le bouton et la commande est déclenchée, cliquez en dehors du bouton mais à l'intérieur du contrôle de conteneur et cela est déclenché à la place.Désactiver un bouton WPF, mais toujours avaler les événements de clic
Malheureusement, lorsque le bouton est désactivé (par la méthode CanExecute de la commande) les clique sur le bouton sont barboter jusqu'à la commande du récipient. Je ne veux pas ça, je veux que les clics soient avalés - ni déclencher la commande, ni éclater.
J'ai essayé de surmonter ce problème en crée une nouvelle classe héritant de bouton, mais aucune des méthodes suivantes semblent même se appelé sur un bouton désactivé:
- OnPreviewMouseDown
- OnPreviewMouseUp
- OnPreviewMouseLeftButtonDown
- SurMise à jour
- OnMouseUp
- OnMouseLeftButtonDown
- OnMouseLeftButtonUp
- Surclic
Est-ce un contrôle désactivé complètement ignoré par le système d'événement routé WPF? Et si oui, est-ce que je peux obtenir le comportement que je cherche?
Merci, mais je viens d'être à la recherche sur cette question et je pense que vous pourriez avoir mal interprété ma question. Je ne veux pas que le contrôle externe reçoive * toujours * l'événement, je veux qu'il ne reçoive l'événement que si le clic est en dehors du bouton, même si le bouton est désactivé. –
Vous avez raison, j'ai mal compris votre intention. Je vais réviser. –