强强的个人博客_苦逼码农 C#, ASP.NET, PACS, RIS, 医疗软件

WPF中 List<T>与 ObservableCollection<T>的 区别

C# 强强

WPF中 List<T>与 ObservableCollection<T>的 区别


C#中 List<T>与ObservableCollection<T>的用法基本上是一样的。

都是继承 IEnumerable<T>等基本接口


主要区别:

list<T>:

当T继承于INotifyPropertyChanged时,如果list<T>中的属性发生改变,则通知UI属性值已发生改变。但当list<T>集合变化时,list<T>就无法通知前端UI了


ObservableCollection<T>:

IEnumerable<T>自己已经继承过INotifyCollectionChanged,INotifyPropertyChanged等方法,所以

当ObservableCollection<T>集合变化时,会自动通知绑定该ObservableCollection<T>的控件并做相应修改。

如果希望当T中的属性发生改变时通知UI,则T也需要继承于INotifyPropertyChanged。



发表评论:

验证码