class StudentItemViewModel:INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public Student Student { get; set; } private bool _isSelected; public bool IsSelected { get { return _isSelected; } set { _isSelected = value; this.PropertyChanged(this,new PropertyChangedEventArgs("IsSelected")); //NotifyPropertyChanged("IsSelected"); } } private void NotifyPropertyChanged(string Name) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(Name)); } } } class NotifyCationObject : INotifyPropertyChanged { private string GetPropertyName<T>(Expression<Func<T>> action) { var expression = (MemberExpression)action.Body; return expression.Member.Name; } protected void NotifyPropertyChanged<T>(Expression<Func<T>> action) { string name = GetPropertyName<T>(action); NotifyPropertyChanged(name); } private event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string Name) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(Name)); } } }
【C#】实现INotifyPropertyChanged的3种方法,布布扣,bubuko.com
【C#】实现INotifyPropertyChanged的3种方法
原文:http://www.cnblogs.com/wywnet/p/3596733.html