use*_*819 2 wpf observablecollection mvvm
我正在使用可观察集合作为WPF中数据网格的数据源.
我的数据网格中有大约20列.
如果我对特定单元格的值进行任何更改,我无法在UI中看到相同的内容.Cell显示相同的旧值.如果我单击该单元格,则会显示最新值.
我将用一个例子来解释这个.假设我在可观察集合名称和年龄中有两个属性.如果我从viewmodel向observable集合添加一些4或5列,则会在UI中显示相同的内容.如果我在viewmodel中更改特定行中Age的值,则在grid中不会显示最新值.当我显示时,将显示最新值点击该单元格.
任何人都可以告诉我们需要做些什么才能在UI中反映出变化?
ObservableCollection继承INotifyCollectionChanged,以便视图可以在添加或删除元素时更新,以及INotifyPropertyChanged,以便在刷新(设置)整个列表时视图可以更新.
但是,一旦在集合容器(如数据网格)中有来自该可观察集合的项,该行的数据上下文就成为源对象(即,observable集合中包含的对象).如果此源对象未实现INotifyPropertyChanged,则对其数据的更改将不会传播到UI.
基本上,ObservableCollection聚合的任何对象也需要实现INotifyPropertyChanged.
| 归档时间: |
|
| 查看次数: |
1476 次 |
| 最近记录: |