我有一个父类(实现INotifyPropertyChanged
),有一个属性是绑定列表(ChildClass
)。 ChildClass
也执行INotifyPropertyChanged
。INotifyPropertyChanged在子绑定列表
如果我绑定的东西给父类,它正确地反映变化的父类的属性 - 与变化的例外:
- 元素在
BindingList(of ChildClass)
[数量,添加或删除项目的结果在列表中]。 OR - 在
BindingList(of ChildClass)
中的一个项目的属性的改变如果我直接绑定的东西的ChildClass
的项目(即在BindingList(Of ChildClass)
项目) - 的作品了。
如何连接它,使#1和#2适当反映在绑定对象中?
以下是保罗伟大答案的vb版本。没有List_Changed
事件,对BindingList
的更改未正确传播到嵌套业务对象的链中。有了它,它们就是!
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Private WithEvents m_children As IBindingList
Public Sub NotifyPropertyChanged(<CallerMemberName()> Optional ByVal propertyName As String = Nothing)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
End Sub
Public Property Children As IBindingList
Get
Return m_children
End Get
Set
m_children = Value
NotifyPropertyChanged()
End Set
End Property
Private Sub m_children_ListChanged(sender As Object, e As ListChangedEventArgs) Handles m_children.ListChanged
NotifyPropertyChanged(NameOf(Children))
End Sub
请给我们一些代码。 – jlvaquero