Salut,
J'ai un petit soucis avec un UserControl, je défini une propriété spécial dans cette usercontrol comme ceci :
Et lors de la déclaration de mon contrôle dans une form XAML je le déclare comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public static readonly DependencyProperty CmBackgroundProperty = DependencyProperty.Register("CmBackground", typeof(Brush), typeof(EasyPicBox)); [Category("Brushes"), Bindable(true)] public Brush CmBackground { get { return GetValue(CmBackgroundProperty) as Brush; } set { SetValue(CmBackgroundProperty, value); } }
Le problème est, que cette déclaration ne semble pas initialiser la propriété CmBackground, voilà le test que j'ai effectué dans le code de mon contrôle pour en déduire ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <my:EasyPicBox Name="myEasyPicBox1" Source="file:///d:/bg-pvc.jpg" CmBackground="Cornsilk"/>
Lors du lancement de l'application contenant mon contrôle, si je laisse la ligne commentée, alors il me met une erreur "Instance non définie à un objet" lors de l'affichage de mon MessageBox. D'où j'en conclu que ma propriété n'est pas initialisée par mon code XAML ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); //this.CmBackground = Brushes.Red; MessageBox.Show(this.CmBackground.ToString()); }
Que puis-je faire ?
Merci d'avance.
Partager