How to approach updating UI for changes within objects held within a collection? After experimenting a bit, I think there are basically two approaches.
- The conformance to
BindableObject
by the object that contains the collection needs to be deep and not shallow. It needs to fire didChange if the collection, or anything recursively within the collection, changes. In my example from yesterday, this means thatMainViewModel
would need to figure out how to fire didChange if anything within any of its existing rows changes - not just changes to the collection itself. or - The parent/container can have shallow conformance to
BindableObject
if the row model themselves conform toBindableObject
and the row view declares the dependency with@ObjectBinding
.
You must do one or the other if you want a row to refresh when isTyping
changes value. I suspect that in the general case, #2 will be simpler.