【发布时间】:2010-11-05 07:31:53
【问题描述】:
我有时认为我可能会不必要地使用依赖属性。我什么时候需要使用它?当我有一个依赖于其他属性的属性时?假设我有一个 Color 属性,我希望它依赖于属性 Hue、Saturation、Luminosity 我是否使用依赖属性?或者我用什么?我控制绑定到Color 的控件,以便在更改属性色相、饱和度、亮度时进行更新。
现在我所做的是
public byte Hue {
get { return _hue; }
set
{
if (_hue == value)
return;
_hue = value;
NotifyPropertyChanged("Hue");
NotifyPropertyChanged("Color"); // to update controls bound to color
}
}
但是我认为这不是正确的做事方式吗?如果我有更多影响颜色的属性,我会在所有这些属性中多出 1 行吗?
【问题讨论】:
-
我不认为这在代码方面是不合理的开销,而且它肯定比添加 DependencyProperty 更轻量级。
-
如果你要走 hsl-color 路线。我会这样做,所以我不需要经常计算。例如,始终存储 H、S 和 L,仅在需要同步时进行转换。这将极大地提高您的速度。
标签: c# wpf dependency-properties