INotifyPropertyChanged用法

来源:互联网 发布:出售微信扫号软件 编辑:程序博客网 时间:2024/05/18 20:37

作为一个刚刚毕业的实习生,还找的一份跟编程有关的工作,做练习的时候当然少不了用到INotifyPropertyChanged,主要作用是用来发送一个更改的通知。

若要继承INotifyPropertyChanged接口,需要打开System.ComponentModel命名空间;

后台代码示例:

<pre name="code" class="csharp"> using System.ComponentModel;public class People : INotifyPropertyChanged    {        private string _title;        public string Title        {            get            {                return _title;            }            set            {                if (value != this._title)                {                    this._title = value;                    NotifyPropertyChanged("Title");                }            }        } public event PropertyChangedEventHandler PropertyChanged;                private void NotifyPropertyChanged(String propertyName = "")        {            if (PropertyChanged != null)            {                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));            }        }    }

前端代码示例:
using System.Collections.ObjectModel; private ObservableCollection<People> _listPeople = null;        public static ObservableCollection<People> GetPerson()        {            ObservableCollection<People> listPerson = new ObservableCollection<People>();            for (int i = 0; i < 5; i++)            {                People msg1 = new People()                {                    Title = "Message Title " + i.ToString(),                    OpenedBy = (i % 2 == 0) ? "蓝天" : "白云",                    OpenTime = DateTime.Now,                    Content = (i % 2 == 0) ? "青山" : "绿水",                    Validated=true,                    Age="20"                };                listPerson.Add(msg1);            }            return listPerson;        } private void LoadButton_Click(object sender, RoutedEventArgs e)        { _listPeople = GetPerson();} private void btnAdd_Click(object sender, RoutedEventArgs e)        {                People bc = new People();                bc.Content = this.Textbox2.Text;                bc.Title = this.Textbox3.Text;                bc.OpenedBy = this.Textbox4.Text;                bc.OpenTime =Convert.ToDateTime(this.time1.SelectedValue);                bc.Age = Convert.ToString(this.cboage.Text);                bc.Validated = true;                _listPeople.Add(bc);}




0 0