Back to the INPC question, a real improvement would be having properties be inherently observable and have an easy way to wire things up. I forget which language I saw recently that handles observability / sync automatically for you.
I have seen while I was at MS, a pretty cool library that helped you build observable objects and without the pains of INPC. It never saw the light of day though
I've discovered that the WhenAnyValue (wraps a call to SubscribeToExpressionChain) from RxUI is useful to observe the changes in a path. The problem with it is that it takes a Expression in the form of viewModel => viewModel.Prop1.Prop2.Prop3
there is not way to specify it as a string like "Prop1.Prop2.Prop3", that is what the XAML Reader will read :(
I will ask Paul if it's feasible to do that. Maybe @Rohansi could help me build the expression! I usually have a hard time creating expression trees.
@glennblock I've thought about the same idea: no INotifyProperty at all, but Observables. This way, a one-way binding could be just a subscription to one specific observable in the ViewModel.
@glennblock Also, I think that we need properties that are both obsevables and observers at the same time. I know that Subject<T> are like that, but I don't is it's OK to see a ViewModel with a bunch of Subject<T> properties
this way, I think that two-way bindings could be possible. What do you think, guys?