Salut!!
S'il vous plaît j'ai besoin d'aide pour débloquer un binding avec u item de collection.
Dans mon programme je crée des lignes dynamiquement, et à chaque fois qu'une ligne est créée j'ajoute un item d'une collection. La collection en question est une collection de modLigne (structure que j'ai moi-même définie).ensemble
La propriété cible est une propriété de dépendance de la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Public Structure modLigne Dim ptStart As Point Dim ptEnd As Point Dim att As Double End Structure
la source est le champ att de l'item considéré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public NotInheritable Class extensions Public Shared ReadOnly NouvelleProperty As DependencyProperty = DependencyProperty.RegisterAttached("Nouvelle", GetType(Double), GetType(Line), New UIPropertyMetadata(5.5)) Public Shared Function GetNouvelle(ByVal lgn As Line) As Double Return DirectCast(lgn.GetValue(NouvelleProperty), Double) End Function Public Shared Sub SetNouvelle(ByVal lgn As Line, ByVal value As Double) lgn.SetValue(NouvelleProperty, value) End Sub End Class
Le problème dont il est question ici est que lorsque la cible est modifiée, la source garde toujours la valeur par défaut de la propriété de dépendance de la ligne.Pourtant je fais ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim binding As New Binding binding.Source =ensemble.Item(ensemble.Count - 1) binding.Mode = BindingMode.OneWayToSource binding.Path = New PropertyPath("att") binding.UpdateSourceTrigger = UpdateSourceTrigger.Explicit nligne.SetBinding(extensions.NouvelleProperty, binding)
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 nligne.GetBindingExpression(extensions.NouvelleProperty).UpdateSource()
Partager