给定一个标准的视图模型实现,当一个属性发生变化时,有没有办法确定变化的发起者?换句话说,在下面的视图模型中,我希望“PropertyChanged”事件的“sender”参数是调用Prop1
setter 的实际对象:
public class ViewModel : INotifyPropertyChanged
{
public double Prop1
{
get { return _prop1; }
set
{
if (_prop1 == value)
return;
_prop1 = value;
// here, can I determine the sender?
RaisePropertyChanged(propertyName: "Prop1", sender: this);
}
}
private double _prop1;
// TODO implement INotifyPropertyChanged
}
或者,是否可以应用于CallerMemberNameAttribute
属性设置器?