Я сделал несколько проектов WPF и вижу, что всплывает та же проблема, и это «проблема» агрегирования/объединения свойств зависимостей (dp).
Например, у меня есть 10 dp типа bool, которые я хочу объединить и представить как отдельный dp. Комбинированное значение dp истинно, если только одна или несколько его составляющих не являются ложными.
В настоящее время я делаю это с помощью addValueChanged, который регистрирует обратный вызов для каждого из 10 (!() dp, но мне интересно, есть ли более элегантные решения или, возможно, фреймворк, который решает этот распространенный сценарий. Я еще не использовал reactiveUI и mvvm light. но я думаю, что это может быть полезно здесь.
var dpd = DependencyPropertyDescriptor.FromProperty(property,
owner.GetType());
dpd.AddValueChanged(owner,
handler);