摘要:INotifyPropertyChanged是在WPF项目中先提出并被其数据绑定引擎使用。最初的名字叫做IPropertyChaged。这个Interface的设计思想是:当一个object的public 属性变化时能通过PropertyChanged这个event的方式告知其他对象。
后来被.NET FCL收入,在程序集System之中定义,名称空间为System.ComponentModel.
INotifyPropertyChanged定义的唯一成员为PropertyChanged事件。以下为一个典型实现之示例:
public class TechEdCity : System.ComponentModel.INotifyPropertyChanged
{
public TechEdCity(string name, DateTime startDate, DateTime endDate)
{
this.name = name;
this.startDate = startDate;
this.endDate = endDate;
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
public string Name
{
get
{
return name;
}
set
{
if (value != name)
{
name = value;
RaisePropertyChangedEvent("Name");
}
}
}
public DateTime StartDate
{
get
{
return startDate;
}
set
{
if (value != startDate)
{
startDate = value;
RaisePropertyChangedEvent("StartDate");
}
}
}
public DateTime EndDate
{
get
{
return endDate;......[
阅读全文]