PropertyChanged not propagated


It seems there's an issue with element's PropertyChanged event handling in BindingListAdapter.
I've changed Bindable.Linq.Samples.WindowsForms sample to forcibly modify an existing process property (in MainForm.GetAllProcesses) and the change was not propagated all the way through INotifyPropertyChanged to the BindingSource.
Not sure if it's the cause of the issue, but after debugging I've found that the BindingListAdapter's _propertyChangeObserver appears to be atached only to "Add" action and therefore its Element_PropertyChanged method is not invoked after an existing element's property has changed. Therefore its ListChanged event does not get fired when an underlying element's property changes. The sample's logic makes me beleive this is not an expected behavior (based on how the process cache is maintained).
The attached is the modified version of MainForm.cs in the Bindable.Linq.Samples.WindowsForms sample which illustrates the behavior.

file attachments


stovellp wrote Sep 30, 2008 at 3:53 AM

Thanks Vaso, I'll try to take a look at this tonight.

wrote Feb 14, 2013 at 1:41 AM