【发布时间】:2017-07-13 08:38:48
【问题描述】:
我有两节课。当另一个类的属性发生更改时,如何引发 Property Changed?如果属性 ActualReading 发生更改,如何在第二类中引发属性更改?
1 级
public class actualmeterreading : INotifyPropertyChanged
{
private string _ID;
private Int32 _ActualReading;
public actualmeterreading()
{
this._ID = string.Empty;
this._ActualReading = 0;
}
public string ID
{
get
{
return _ID;
}
set
{
_ID = value;
}
}
public int ActualReading
{
get
{
return _ActualReading;
}
set
{
_ActualReading = value;
RaisePropertyChanged("ActualReading");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(String Name)
{
if (PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(Name));
}
}
2 级
public class meterreadingrecords : INotifyPropertyChanged
{
private string _id;
private actualmeterreading _actualmeterreading;
public meterreadingrecords()
{
this._id = string.Empty;
this._actualmeterreading = new actualmeterreading();
}
public string Id
{
get
{
return _id;
}
set
{
_id = value;
}
}
public actualmeterreading Actualmeterreading
{
get
{
return _actualmeterreading;
}
set
{
_actualmeterreading = value;
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(String Name)
{
if (PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(Name));
}
}
【问题讨论】:
-
您能澄清一下您的问题吗?
-
只要确保你的类的所有属性都报告了变化,你就完成了。 Id 和 Actualmeterreading 直到现在都没有,所以修复它
-
您将它用于 WPF 绑定还是用于什么?如果不是用于绑定,那似乎是一个糟糕的设计
标签: c#