首页 > 其他 > 详细

【C#】实现INotifyPropertyChanged的3种方法

时间:2014-03-13 04:08:23      阅读:792      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 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));
            }
        }
    }
bubuko.com,布布扣

【C#】实现INotifyPropertyChanged的3种方法,布布扣,bubuko.com

【C#】实现INotifyPropertyChanged的3种方法

原文:http://www.cnblogs.com/wywnet/p/3596733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!