绑定列表如下所示:
public class BindingList<T> : Collection<T>, IBindingList, IList, ICollection, IEnumerable, ICancelAddNew, IRaiseItemChangedEvents
{
IRaiseItemChangedEvents指示对象类将属性更改事件转换为 ListChanged 事件。
BindingList
本身具有ListChanged
WPF 必须监听的事件。
如果事实上它看起来像 IRaiseItemChangedEvents 被忽略,但有一个BindingListCollectionView
包含
// subscribe to change notifications
private void SubscribeToChanges ()
{
if (InternalList.SupportsChangeNotification)
{
InternalList.ListChanged += new ListChangedEventHandler(OnListChanged);
}
}
和像这样的构造函数
/// <summary>
/// Constructor
/// </summary>
/// <param name="list">Underlying IBindingList</param>
public BindingListCollectionView(IBindingList list)
: base(list)
{
InternalList = list;
我建议您获取DotPeek并亲自查看。