I have a situation I'm not sure how to debug. I'm hoping someone can suggest why it might not be working and point me in the right direction.
I have a TIFF image from a database which is exposed as a property of type System.Data.Linq.Binary. I want to display the individual frames from that TIFF image in an ItemsControl so I've written a converter that takes the Binary datatype and returns an ObservableCollection of BitmapFrames. I'm binding ItemsControl.ItemsSource to the Binary property using the converter along with "Mode=TwoWay" and "UpdateSourceTrigger=PropertyChanged".
The display of the images is working fine. The problem is that if I add a frame to the collection the display updates, but that change is not transferred back to the Binary property in the source object. The ConvertBack() method in my converter is never called (indicating to me that the binding is never even trying to update the source). If I manually make a call to BindingExpression.UpdateSource() as if it were set for "UpdateSourceTrigger=Explicit" the Binary property does update correctly.
So if a binding is set for "Mode=TwoWay" and "UpdateSourceTrigger=PropertyChanged" and the object implements INotifyPropertyChanged (which ObserverableCollection does), why doesn't the binding actually try to update the source?
Thanks!