Bonjour,
J'ai un contrôle WPF personnalisé, contenant un label, et une petit croix en haut à droite dans un rond rouge. Je veux affecter un event à l'action de cliquer sur le rond rouge, genre supprimer mon contrôle.
Mais cette fonction doit être externe à la classe de mon contrôle personnalisé (mon contrôle se trouve dans une liste de laquelle il faut aussi que je le supprime)
En gros je veux pouvoir faire dans ma main windows :
monControle.OnClickBoutonRouge+=maFonction;
J'ai fait un truc à l'arrache. Dans la classe de mon contrôle, j'ai créé la fonction suivante :
1 2 3 4
| public void SetEvent(MouseButtonEventHandler maFonction)
{
monBoutonRouge.MouseLeftButtonDown += maFonction;
} |
Et dans la fenêtre où j'ai mis mon contrôle perso je fais :
monControle.SetEvent(maFonction);
Ca pourrait me suffire, sauf que dans maFonction, le sender que je récupère est le bouton rouge, alors que je voudrais que ce soit tout mon contrôle.
Je me doute qu'il existe une méthode élégante pour faire ça, avec un event personnalisé, mais je ne trouve pas.
Merci
Partager