我希望PropertyChange的注册事件处理程序只触发一次,即使在EventHandler本身中再次更改了Property,或者即使在该对象上更改了多个属性。
我该怎么做?
答案 0 :(得分:1)
private string _oneTimeFiredPropertyChanged;
private bool _oneTimeFired = false;
public string OneTimeFiredPropertyChanged
{
get
{
return _oneTimeFiredPropertyChanged;
}
set
{
if (!oneTimeFired)
{
RaisePropertyChanged("OneTimeFiredPropertyChanged");
oneTimeFired = true;
}
_oneTimeFiredPropertyChanged = value;
}
}