我有一个基类:如何为派生类实现INotifyPropertyChanged?
public class PersonBaseClass : INotifyPropertyChanged
{
private string name;
public string Name
{
get { return name; }
set
{
if (value != name)
{
name = value;
NotifyPropertyChanged("Name");
}
}
}
}
和派生类
public class TeacherClass : PersonBaseClass, INotifyPropertyChanged
{
private string id;
public string Id
{
get { return id; }
set
{
if (value != id)
{
id = value;
NotifyPropertyChanged("Id");
}
}
}
}
和这个魔码在上述每一个的端部!
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (null != handler)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
然后,我在xaml的列表中显示Teachers
集合的列表。现在,如果我更改Id
,用户将会看到更改,但不会显示基础类中的属性Name
中的更改。在调试中,我看到设置了Name
值后,handler
里面的NotifyPropertyChanged
方法为空,这似乎是问题所在。
我怎样才能解决它的基类的变化也出现在列表中?
谢谢。似乎我需要再次使用基本的C#类:\ – user3293835
Microsoft Virtual Academy的网站上有几个可供用户使用的在线刷新视频。 – leafartist