Changer valeur mainwindows à partir d'un usercontrol

Changer valeur mainwindows à partir d'un usercontrol - C#/.NET managed - Programmation

Marsh Posté le 18-07-2010 à 20:11:05    

Bonjour,  
 
J'ai dans mon application un Canvas et un bouton "client", lorsqu'on clique sur CLIENT, mon usercontrol "listclient" est intégré à mon canvas ( Canvas.children.add(Usercontrol_listclient) )  
 
Ensuite, si un double click est fait sur un client à partir de l'uc "listclient", j'aimerai que l'uc se ferme et que le nouveau apparaisse ( Canvas.children.add(Usercontrol_viewclient)  
 
Mon problème est que, via le code de mon premier contrôle d'utilisateur "listclient", je n'arrive pas a accéder à mon canvas.  
 
Je souhaite donc, coder quelque chose dans mon uc "listclient" qui me permettre d'acceder a mon cavnas pour afficher le nouvel UC.  
 
 
Une idée ?

Reply

Marsh Posté le 18-07-2010 à 20:11:05   

Reply

Marsh Posté le 19-07-2010 à 17:34:56    

Ta première solution a l'air intéressante mais je ne vois pas du tout comment faire pour que mon canvas s'abonne à mon evenement dans listclient. J'imagine que mon canvas doit s'abonner à mon event   protected void HandleDoubleClick qui se trouve dans mon listclient.  
 
Comment faire ?  
   

Reply

Marsh Posté le 19-07-2010 à 17:54:36    

J'ai testé de passer à listclient la référence au canvas mais ça fais un peu bricolage nan ? :D

Reply

Marsh Posté le 19-07-2010 à 18:32:26    

Pour afficher mon Usercontrol j'ai ça dans mon code mainwindows :  
 
 UserControl UCClient = new UCclients(rightcontent);
                rightcontent.Children.Clear();
                rightcontent.Children.Add(UCClient);
 
Je dois donc ajouter ça après ?  
              UCClient.onCompleted +=
 
 
Ensuite dans mon usercontrol listclient j'ai donc ajouté :  
 
 public partial class UCclients : UserControl
    {
 
     >>>   public event EventHandler onCompleted;
 
Par contre je vois pas du tout ou mmettre ta ligne ex : if (onCompleted != null) onCompleted(this, null);  
 
 
Je suis désolé je suis vraiment une merde ... Merci pour ton temps en tout cas !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed