我将List<Person> collection用作 DataGrid 控件的 ItemsSource。
但是,如果我从 List 集合中删除该项目,它不会更新视图。我为解决方案苦苦挣扎了很长时间。
然后而不是List<Person>我的 ViewModel中的集合。我把它改成了ObservableCollection<Person> collection. 现在,只要集合发生变化,它就会更新视图。
我不确定为什么它只更新ObservableCollection<Person>? 任何人 ?
那么它的名字。一个简单的 List 不会告诉 ui 更新,换句话说“视图无法观察列表”。数据绑定背后没有奇怪的魔法。WPF 和 DataBinding 需要数据模型来告诉他们“这是新的”或“这是更改的”,您可能已经看到INotifyPropertyChanged,INotifyCollectionChanged是相同的,但对于集合,并且List<>没有实现它,ObservableCollection确实如此。
| 归档时间: |
|
| 查看次数: |
3031 次 |
| 最近记录: |