I've done a few WPF projects now and see the same problem pop up and that is the "problem" of aggregating/combining dependency properties (dp's).
For example, I have 10 dp's of type bool that I want to combine and expose as a seperated dp. The combined dp is true unless one or more its constituents is false.
I currently do this using the addValueChanged which registers a callback for each of the 10 (!() dp's but am wondering if there are more elegant solutions or maybe a framework that addresses this common scenario. I haven't used reactiveUI and mvvm light yet but I'm thinking it can be useful here.
var dpd = DependencyPropertyDescriptor.FromProperty(property,
owner.GetType());
dpd.AddValueChanged(owner,
handler);