Ajouter un UserControl a une Window comme Child

Signaler
Messages postés
13
Date d'inscription
mercredi 28 janvier 2009
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
Bonjour
Veuillez trouvez ci-joint une démo pour mon problème je ne sais pas si c'est admissible de le faire dans le forum mais c'est juste pour éviter d'écrire un long message entasser avec du XAML et du codebehind

Voici mon problème:
J'ai une Window MyMainWindow qui contient une Grid qui est divise en deux colonnes
Dans la 1ere colonne j'ai mit quelques buttons (btn1, btn2, btn3).
Une fois je clique sur un bouton btn1 par exemple j'ouvre dans la 2emme colonne de la grid un UserControl UC1, de même si je clique sur btn2 j'ouvre un 2emme UserControl UC2
Dans chaque UserControl j'ai quelque buttons, prenons le UC1 j'ai un btnUC2, btnUC3 lorsque je clique sur le btnUC2 la UC2 s’ouvre et prend le palace de la UC1 dans MyMainWindow
Dans mon code j'ai pu faire :
Ouvrir des UserControl dans MyMainWindow.
Ouvrir un UserCOntrol UC2 a la place de UC1.
Mais si je veux ouvrir UC3 ca ne marche plus vous pouvez faire quelque test avec la démo.
Merci d’avance pour votre aide.
Voici le lien :
http://startou.com/file/728-3900631ece.html

2 réponses

Messages postés
13
Date d'inscription
mercredi 28 janvier 2009
Statut
Membre
Dernière intervention
11 mars 2010

Enfaite ce n'est pas grave si on remplace les UserControl avec les pages
voici quelques snaps
http://startou.com/file/630-9411954b18.html
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
28
bonjour
je n'ai pas regardé ton exemple,
mais si tu veux afficher un crontrol à la place d'un autre, dans une même forme, il faut cacher l'autre, méthode Hide().
Si plusieurs control sont placés, et visible,au même endroit seul le dernier dans l'ordre de la collection Controls de la forme sera visible.
Si tu ne peux pas cacher les autre controles, tu peux changer l'index de celui que tu viens d'afficher
this.Controls.SetChildIndex (moncontrol,0)
pour le placer au dessus des autres.

C# is amazing, enjoy it!