所有使用MVVM的Silverlight示例都使用名为IPropertyChanged的接口。它背后的概念是什么?为什么每当我们设定一些价值时就需要举办一个活动?INotifyPropertyChanged背后的概念是什么?
如: -
public class UserNPC:INotifyPropertyChanged
{
private string name;
public string Name {
get { return name; }
set { name = value; onPropertyChanged(this, "Name"); }
}
public int grade;
public int Grade {
get { return grade; }
set { grade = value; onPropertyChanged(this, "Grade"); }
}
// Declare the PropertyChanged event
public event PropertyChangedEventHandler PropertyChanged;
// OnPropertyChanged will raise the PropertyChanged event passing the
// source property that is being updated.
private void onPropertyChanged(object sender, string propertyName)
{
if (this.PropertyChanged != null)
{
PropertyChanged(sender, new PropertyChangedEventArgs(propertyName));
}
}
}
什么是INotifyPropertyChanged的确切目的是什么?