日期:2014-05-17  浏览次数:20747 次

为什么需要这个方法?
public event PropertyChangedEventHandler PropertyChanged;
        private void NotifyPropertyChanged(String propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (null != handler)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
为什么需要这个方法?
不使用这个方法行不行?

------解决方案--------------------
你是指那个PropertyChanged事件吗?NotifyPropertyChanged方法是私有的,外部不能使用,只公开了那个事件,用来通知UI刷新的,WPF绑定专用,WinForm下面用不到。
------解决方案--------------------
需要的是INotifyPropertyChanged.PropertyChanged事件,WPF通过该事件来得知CLR属性的变更。你的属性全是依赖属性就用不着了。

你的这个函数包装了对INotifyPropertyChanged.PropertyChanged事件的触发,不然每次发出变更通知时都要把里面的代码复制一遍。

还有就是,按照.NET的命名习惯,这个函数通常被命名为OnPropertyChanged。