由于DisplayData是一个对象,是引用类型,也就是一个地址,除非你在后台设置DisplayData=null,再赋值为新对象,否则前台检测不到它的item有任何变化。
要实现DisplayData的各个属性变化通知前台,需要添加类似如下的代码,
void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.NewItems != null && e.NewItems.Count != 0)
foreach (PACViewModel pVM in e.NewItems)
pVM.PropertyChanged += this.OnPACViewModelPropertyChanged;
if (e.OldItems != null && e.OldItems.Count != 0)
foreach (PACViewModel pVM in e.OldItems)
pVM.PropertyChanged -= this.OnPACViewModelPropertyChanged;
}
也就是说你要通过手工的代码实现DisplayData的成员的变化绑定到整个对象的变化上面。