Список привязок выглядит следующим образом:
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 и убедиться в этом.