[英]How to update other dependent property on change of one property
假設在C#WPF類中我有類似以下內容:
class test: INotifyPropertyChanged
{
private datetime _DOB
public datetime DOB
{
get
{
return _DOB;
}
set
{
if (_DOB != value)
{
_DOB = value;
RaisePropertyChanged();
}
}
}
private int _age
public int Age
{
get
{
return _age;
}
set
{
if (_age != value)
{
_age = value;
RaisePropertyChanged();
}
}
}
....
}
現在,讓我們假設用戶可以輸入任何屬性。 他們可以輸入DOB或年齡,因此使其中之一成為計算所得的屬性將無效。
除了使用類似的方法UpdateAge()
在DOB和二傳手UpdateDOB()
在時代的二傳手,有沒有會自動與依賴屬性(INPC需要照顧)一起更新了“依賴”性質的任何其他方法?
是否有其他方法可以自動更新“依賴”屬性以及依賴屬性(由INPC處理)?
這里沒有“自動”或魔術。 您需要設置背景字段,並為要在視圖中刷新的數據綁定屬性引發PropertyChanged事件。
只要確保您不會陷入無限循環,就可以從DOB
屬性設置Age
屬性,反之亦然。
您可以在DOB
屬性的設置器中設置_ age
backing字段,反之亦然,例如:
private DateTime _DOB;
public DateTime DOB
{
get
{
return _DOB;
}
set
{
if (_DOB != value)
{
_DOB = value;
RaisePropertyChanged();
_age = DateTime.Now.Year - _DOB.Year;
RaisePropertyChanged("Age");
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.