找到了解决办法,但是不太知道原理的,
只需要记得以后对于单纯的属性,需要实现INotifyPropertyChanged接口,实现通知属性的更改;
而对于集合属性,不知道为什么不可以用同样的方式,会出现如题所示的错误,而改用成ObservableCollection类型的集合,就不会了,一直以为这两种方式都可以。。
//单纯属性
public string CategoryName
{
get { return categoryName; }
set
{ categoryName = value;
OnPropertyChanged(new PropertyChangedEventArgs("CategoryName"));
}
}
//集合属性
private ObservableCollection<Product> products;
public ObservableCollection<Product> Products
{
get { return products; }
set { products = value;
OnPropertyChanged(new PropertyChangedEventArgs("Products"));
}
}