当前位置: 代码迷 >> C# >> 为啥需要这个方法
  详细解决方案

为啥需要这个方法

热度:8192   发布时间:2013-02-25 00:00:00.0
为什么需要这个方法?
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。
  相关解决方案