wpf学习笔记 NotifyPropertyChanged实现数据变化自动更新UI

在wpf中,我们可以通过继承INotifyPropertyChanged接口实现数据变化时自动推送UI。

        #region 属性变化事件
        public PropertyChangedEventHandler PropertyChanged;

        private void NotifyPropertyChanged(string propertyName)
        {
            VerifyPropertyName(propertyName);
            PropertyChangedEventHandler handler = this.PropertyChanged;
            if (handler != null)
            {
                var e = new PropertyChangedEventArgs(propertyName);
                handler(this, e);
            }
        }

#endregion  

并在索引器中调用NotifyPropertyChanged事件。

        private String name;

        public String Name
        {
            get { return name; }
            set
            {
                if (value == name)
                    return;
                name = value;
                NotifyPropertyChanged("Name");
            }
}

 并可以继承IDataErrorInfo接口实现自定义数据检验,显示实现其属性。

 View Code

为了实现代码复用,以ModelBase继承 IDataErrorInfo与INotifyPropertyChanged。

实例代码下载:NotifyProperty.zip

 

 

 

 
 
posted @ 2012-03-01 21:25  shen6041  阅读(3806)  评论(0编辑  收藏  举报