【发布时间】:2008-10-01 18:40:42
【问题描述】:
在 WPF 中:
谁能解释一下 DependencyProperty 和 Databinding 之间的关系?
我的代码中有一个属性,我想成为我的数据绑定的来源。 如果我想将此对象绑定到 XAML 上的文本框,那么 DependencyProperty(或它)何时发挥作用。
【问题讨论】:
标签: wpf data-binding
在 WPF 中:
谁能解释一下 DependencyProperty 和 Databinding 之间的关系?
我的代码中有一个属性,我想成为我的数据绑定的来源。 如果我想将此对象绑定到 XAML 上的文本框,那么 DependencyProperty(或它)何时发挥作用。
【问题讨论】:
标签: wpf data-binding
绑定中的目标必须始终是DependencyProperty,但任何属性(甚至是普通属性)都可以是源。
普通属性的问题是绑定只会获取一次值,之后不会更改,因为普通源属性中缺少更改通知。
要提供更改通知而不将其设为DependencyProperty,可以:
在定义属性的类上实现INotifyPropertyChanged。
创建一个 PropertyNameChanged 事件。 (向后兼容。)
WPF 使用第一个选项会更好。
【讨论】:
DependencyProperty 类是深藏在 .Net Framework WPF 中的最重要的设计基础之一。
此类受 .NET Framework 中的 sealed 保护。
此属性与一维通用属性的不同之处在于它不仅存储字段值,而且还利用了类中提供的各种功能。
最重要的是,数据绑定有一个完整的基础。您也可以在绑定某些内容时发送通知。
DependencyProperty
Wpf Xaml Binding
答案已经晚了,但我会介绍一下我的研究结果。
【讨论】: