假设我有一个继承自UserControl
的控件(因此其中一个超类是DependencyObject
)。使用DependencyProperty
解决通知问题非常容易,因为INotifyPropertyChanged
需要一点实现,而另一个选项是创建一个方法来修改控件的状态(如myControl.HideTextBox()
)。我想有更多的选项可以解决这个问题,但由于控件已经从DependencyObject
继承,因此DependencyProperty
似乎是更明显的方式,但它可能不是最优的。
有什么想法吗?
谢谢!
答案 0 :(得分:4)
依赖项属性的真正特征并不是您可以免费获得更改通知(尽管就是这样)。真正的特性是只有依赖属性才能成为数据绑定的目标。在决定属性是否应该依赖时,首先应该考虑这一点。
对于控件,几乎所有属性都应该是可绑定的,因此也是依赖性。