改变属性值时触发事件
public class ValueChangeTest { public event EventHandler PropertyChanged; private string strValue; public string StrValue { set { this.strValue = value; OnPropertyChanged(new EventArgs());//每次改变Name值调用方法; } get { return strValue; } } private void OnPropertyChanged(EventArgs eventArgs) { if (this.PropertyChanged != null)//判断事件是否有处理函数 { this.PropertyChanged(this, eventArgs); } } }
应用
ValueChangeTest cvt = new ValueChangeTest(); cvt.PropertyChanged += new EventHandler(cvt_PropertyChanged); cvt.StrValue = "123"; ----------------------------------------------------------------------------------- void cvt_PropertyChanged(object sender, EventArgs e) { MessageBox.Show("123"); }