嘿伙计们,有没有办法创建一个事件,当对象的属性/字段值发生变化时会触发该事件?例如,如果对象有一个名为的字段
private int number;
Run Code Online (Sandbox Code Playgroud)
并且用户执行一个更新该号码的操作,会触发一个事件来更新表单上的所有文本框以显示当前字段值?
编辑:抱歉,已为每个字段创建了属性
Tho*_*que 20
将它设为属性而不是字段,并INotifyPropertyChanged
在您的类中实现:
class YourClass : INotifyPropertyChanged
{
private int _number;
public int Number
{
get { return _number; }
private set
{
_number = value;
OnPropertyChanged("Number");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以显式侦听PropertyChanged
事件,或使用将自动处理它的数据绑定
归档时间: |
|
查看次数: |
14130 次 |
最近记录: |