您的位置:首页 > 运维架构

使用INotifyPropertyChanged监听属性变化

2009-07-01 16:08 513 查看
有时我们需要以异步的方式监控对象属性的变化,并根据变化作出相应的处理。通过将被监控类实现INotifyPropertyChanged接口的方式可以简洁的达到这一目的。

public class 被监控类 : INotifyPropertyChanged
{
  //声明事件
  public event PropertyChangedEventHandler PropertyChanged;
  //定义用于触发事件的方法
  private void NotifyPropertyChanged(string info)
  {
    if(PropertyChanged != null){
      //触发事件
      PropertyChanged(this, new PropertyChangedEventArgs(info));
    }
  }
  //在属性set时,调用触发事件的方法
  public string Property1{
    set {
      if(value != this._property1){NotifyPropertyChanged("info");}
    }
  }
}

public class 监控类{
  //定义事件处理方法
  static void DoItWhenPropertyChanged(object sender, PropertyChangedEventArgs e){}
  public static void Main(string[] args){
    //添加事件的处理方法
    被监控对象.PropertyChanged +=
        new PropertyChangedEventHandler(DoItWhenPropertyChanged);
  }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: