我的ViewModel中有一个属性会影响另一个属性,例如SelectedDate和ReferenceDate。
每当SelectedDate更改时,ReferenceDate会自动设置为低于SelectedDate的值,这当然要求在ui中更新这两个值。 E.g:
public SelectedDate
{
set
{
_selectedDate = value;
_referentialDate = value.AddDays(-1);
RaisePropertyChanged("SelectedDate");
RaisePropertyChanged("ReferentialDate");
}
}
使用属性更改机制处理此更新,该机制还负责加载相关数据。仅对于ReferentialDate也应该是相同的:
public ReferentialDate
{
set
{
_referentialDate = value;
RaisePropertyChanged("ReferentialDate");
}
}
不幸的是,当SelectedDate发生更改时,此实现会导致ReferentialDate被调用两次。是否有一些模式或解决方案可以防止多次调用ReferentialDate?
答案 0 :(得分:0)
这应该可以解决问题:
public SelectedDate
{
set
{
_selectedDate = value;
ReferentialDate = value.AddDays(-1);
RaisePropertyChanged("SelectedDate");
}
}