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