我有一個父類(實現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