2010-02-03 4 views
0

J'ai un contrôle personnalisé WPF hérité de Button.Capture Click Click dans un contrôle personnalisé

Comment puis-je obtenir par programme le contrôle personnalisé pour capturer l'événement Click (afin que je puisse enregistrer l'action et effectuer un travail interne) (fondamentalement, je veux attraper l'événement et définir une certaine propriété à une certaine valeur) et rend cette fonctionnalité standard des classes. D'après ce que je comprends, le contrôle personnalisé devrait pouvoir attraper le sien même et faire un peu de travail.

Aide apprécié

Répondre

1

essayer un des remplacements

public class CustomButton : Button { 

     protected override void OnPreviewMouseDown(MouseButtonEventArgs e) { 
     base.OnPreviewMouseDown(e); 
     } 

     protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e) { 
     base.OnPreviewMouseLeftButtonDown(e); 
     } 
    } 
-1

Je me suis rendu compte pourquoi Ihad un problème. Je ne pouvais pas voir l'événement Click Ce fut parce que je n'étais pas explicitement enought dans ma déclaration de classe:

Je mis

public class StateButton : Button 

évidemment choisi le mauvais bouton .. comme

public class StateButton : System.Windows.Controls.Button 

fonctionne

Ensuite, je viens de surcharger l'événement

Merci

+0

voulez-vous dire que vous avez fait comme je l'ai suggéré dans ma réponse? Si oui, marquez-le comme étant répondu. Le débordement de pile fonctionne beaucoup mieux quand les gens marquent les questions comme étant répondues (si elles le sont - et je pense que c'est le cas), c'est l'une des façons de rembourser les autres utilisateurs pour avoir pris le temps de répondre à vos questions. Quand vous marquez quelqu'un comme répondant à votre question, ils obtiennent des points de statut. –

+1

la raison pour laquelle cela n'a pas fonctionné est probablement parce que vous avez ajouté une référence au bouton des formulaires Windows, jetez un oeil à vos instructions using. –

Questions connexes