Stackoverflow に関するほとんどすべての質問を読みましたがDataGrid, BindingList<T>、ListChangedまだ答えがありません。
というオブジェクトがありInvoice : INotifyPropertyChanged、BindingList<InvoiceLine> : INotifyPropertyChangedいくつかのオブジェクトで構成される がありInvoiceLine : INotifyPropertyChangedます。
にDataGridバインドされているでイベントBindableList<InvoiceLine>のプロパティの 1 つを変更するとInvoiceLine、PropertyChangedイベントが発生しますが、 でListChangedイベントが発生しませんBindableList<InvoiceLine>。
InvoiceLines は次のように初期化されます。
this.InvoiceLines = new BindingList<InvoiceLine>();
this.InvoiceLines.ListChanged += new System.ComponentModel.ListChangedEventHandler(InvoiceLines_ListChanged);
this.InvoiceLines.RaiseListChangedEvents = true;
this.InvoiceLines.AllowEdit = true;