zoukankan      html  css  js  c++  java
  • WPF 自定义NotifyPropertyChanged

    该工具类实现INotifyPropertyChanged接口

    复制代码
        /// <summary>
        /// 实现了属性更改通知的基类
        /// </summary>
        public class BaseNotifyPropertyChanged : System.ComponentModel.INotifyPropertyChanged
        {
            /// <summary>
            /// 属性值变化时发生
            /// </summary>
            /// <param name="propertyName"></param>
            protected virtual void OnPropertyChanged(string propertyName)
            {
                if (this.PropertyChanged != null)
                    this.PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
    
            /// <summary>
            /// 属性值变化时发生
            /// </summary>
            /// <param name="propertyName"></param>
            protected virtual void OnPropertyChanged<T>(Expression<Func<T>> propertyExpression)
            {
                var propertyName = (propertyExpression.Body as MemberExpression).Member.Name;
                this.OnPropertyChanged(propertyName);
            }
    
            public virtual event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        }
    复制代码

    使用时继承此类,然后在VM中的属性get使用:OnPropertyChanged(()=>PropertyName)  ??难道不是应该Set

  • 相关阅读:
    volatile用法
    static用法
    sizeof用法
    C语言void关键字的深刻含义
    extern用法
    const用法
    attribute用法
    Task的运行过程分析
    Android BroadcastReceiver实例Demo(有序广播的发送)
    旅行-许巍
  • 原文地址:https://www.cnblogs.com/sjqq/p/8458369.html
Copyright © 2011-2022 走看看