Hello,

J'ai un petit probleme que je n'arrive pas a résoudre dans ma solution en WPF. j'ai donc fait une solution simpliste de teste pour tenter d'expliquer mon probleme :

J'ai un premier projet qui est une bibliothèque de user controls dans lequel j'ai un controle simple :
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<UserControl x:Class="ucTest.monctrltest"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <ContentControl  VerticalAlignment="Stretch"   x:Name="NavBarContent"  ></ContentControl>
    </Grid>
</UserControl>
j'ai ajouté un constructeur simple aussi ou je passe en parametre un controle pour remplir l'objet contentcontrole :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public monctrltest(UIElement CtrlToShow)
        {
            InitializeComponent();
            NavBarContent.Content = CtrlToShow;
        }
J'ai un deuxième projet ou je vais utiliser ce contrôle. Dans ce deuxième projet, dans la MainWindows, j'ai ajouté le namespace de ma biblio afin de pouvoir l'utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
xmlns:test="clr-namespace:ucTest;assembly=ucTest"
puis j'ai ajouté mon contrôle :
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
 <test:monctrltest x:Name="toto"></test:monctrltest>
dans le constructeur de la mainWindow, j’appel ma surcharge du constructeur en y passant en paramètre un contrôle et en priant que ce dernier s'affiche... mais en vain.. mon controle n'y est pas affiché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public MainWindow()
        {
            InitializeComponent();
            toto = new ucTest.monctrltest(new Button() { Content = "jjj" });
        }
Je ne comprends pas pourquoi cela ne fonctionne pas. Lorsque je code ce controle utilisateur dans le projet principal, cela fonctionne. par contre, des que ce contrôle est dans une bibliothèque de contrôles user référencé dans mon projet principal, celui ci ne fonctionne pas.

Un avis sur mon probleme ? (ou une solution ? )

merci par avance de votre aide !