我已经完成了一些WPF项目,并且看到相同的问题弹出,这是聚合/组合依赖项属性(dp)的“问题”。组合依赖项属性
例如,我有10个类型为bool的dp,我想将它们组合并公开为独立的dp。除非一个或多个成分是假的,否则合并的dp是正确的。
我目前这样做使用addValueChanged注册每个10(!()dp的回调,但我想知道是否有更优雅的解决方案或可能是一个框架,解决这个常见的情况。和MVVM光了,但是我想它可以在这里非常有用。
var dpd = DependencyPropertyDescriptor.FromProperty(property,
owner.GetType());
dpd.AddValueChanged(owner,
handler);
您还可以覆盖的CM'OnNotifyPropertyChanged'的对象并检查属性名对于不断变化的道具,如果某个属性正在改变,你可以为相关道具提出一个属性更改通知。我发现这对我的属性getter/setter代码看起来不那么混乱 – Charleh