我在xamarin表单app上课,我在其上实现了INotifyChanged。稍后此类将用于创建列表。该列表的数据来自mysql。该列表将是我的第三方dataGrid的项目源,名为sfdataGrid。列实际读数将显示db中的整数,并且可以在数据网格中进行编辑。但是新编辑的值必须大于db的值初始值。或者它应该恢复到初始值。如何将新值与初始值属性Changed?
进行比较public class actualmeterreading : INotifyPropertyChanged
{
private string _ID;
private string _MachineMeterReadingID;
private Int32 _ActualReading;
private machinemeterreadinglist _MachineMeterReadingList;
public actualmeterreading(string id, string machinemeterreadingid, Int32 actualreading, machinemeterreadinglist machinemeterreadinglist)
{
this._ID = id;
this._MachineMeterReadingID = machinemeterreadingid;
this._ActualReading = actualreading;
this._MachineMeterReadingList = machinemeterreadinglist;
}
public actualmeterreading()
{
this._ID = string.Empty;
this._MachineMeterReadingID = string.Empty;
this._ActualReading = 0;
this._MachineMeterReadingList = new machinemeterreadinglist();
}
public string ID
{
get { return _ID;}
set { _ID = value;}
}
public string MachineMeterReadingID
{
get { return _MachineMeterReadingID;}
set { _MachineMeterReadingID = value;}
}
public int ActualReading
{
get { return _ActualReading;}
set {
_ActualReading = value;
RaisePropertyChanged("ActualReading");
}
}
public machinemeterreadinglist MachineMeterReadingList
{
get { return _MachineMeterReadingList;}
set { _MachineMeterReadingList = value;}
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(String Name)
{
if (PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(Name));
}
}
答案 0 :(得分:1)
public int ActualReading
{
get { return _ActualReading;}
set {
// only update if new value is bigger than old value
if (value > _ActualReading) {
_ActualReading = value;
RaisePropertyChanged("ActualReading");
}
}
}