Bonjour à tous,
J'ai un soucis avec le DependencyProperty de mon UserControl.
En effet lorsque je veux Binder une des propriétés, tout simplement rien ne se passe :
Voici le code complet du UserControl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 Public Class MateriauItem Inherits UserControl #Region "Fields" Private _IsUsed As Boolean Private _Nom As String Private _Epaisseur As Integer #End Region #Region "Properties" Public Shared ReadOnly NomProperty As DependencyProperty = DependencyProperty.Register("Nom", GetType(String), GetType(MateriauItem), New PropertyMetadata(Nothing)) Public Property IsUsed As Boolean Get Return Me._IsUsed End Get Set(ByVal value As Boolean) Me._IsUsed = value ChkUse.IsChecked = value End Set End Property Public Property Nom As String Get GetValue(NomProperty) End Get Set(ByVal value As String) SetValue(NomProperty, value) TbName.Text = value End Set End Property Public Property Epaisseur As Integer Get Return Me._Epaisseur End Get Set(ByVal value As Integer) Me._Epaisseur = value CbxEpaisseur.SelectedItem = value End Set End Property #End Region #Region "Constructor" Public Sub New() ' Cet appel est requis par le concepteur. InitializeComponent() ' Ajoutez une initialisation quelconque après l'appel InitializeComponent(). End Sub #End Region End Class
Voici le code XAML de l'utilisation du UserControl :
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <ListBox x:Name="LbxMateriaux"> <ListBox.ItemTemplate> <DataTemplate DataType="{x:Type local:Materiau}" > <local:MateriauItem Nom="{Binding Path=Label}" /> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
Et enfin le code d'ajout d'un matériau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim mt As Materiau = New Materiau("test1") LbxMateriaux.Items.Add(mt)
L'élément est donc bien ajouté dans la liste mais la valeur "test1" n'est pas affichée.
Je bloque depuis quelques jours là dessus, je me permets donc de solliciter vos compétences.
D'avance merci
Partager