今天在项目中使用到这个 ObservableCollection<T> 类,作为数据源集合绑定到控件。
当数据源发生变化,会通知界面显示。
如果用List<T> ,当数据源发生变化就得要重新设置ItemsSource,效率低下。
用ObservableCollection<T> 要注意的是,T必须继承 INotifyPropertyChanged
public class Student : INotifyPropertyChanged { private string studentID; public string StudentID { get { return studentID; } set { studentID = value; NotifyPropertyChange("StudentID"); } } private string studentName; public string StudentName { get { return studentName; } set { studentName = value; NotifyPropertyChange("StudentName"); } } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChange(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }