WPF 自定义NotifyPropertyChanged

Posted 山涧清泉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 自定义NotifyPropertyChanged相关的知识,希望对你有一定的参考价值。

技术分享图片
技术分享图片
    /// <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

以上是关于WPF 自定义NotifyPropertyChanged的主要内容,如果未能解决你的问题,请参考以下文章

wpf 自定义控件的自定义属性的数据绑定问题

wpf 自定义控件combobox 依赖属性

wpf中动态添加的自定义控件过宽,不能完全显示,怎么办

wpf下拉多选自定义控件添加change事件

wpf 重新加载自定义控件出现异常

[原创]c# wpf自定义 任意颜色阴影特效融合winform的探索之路