我正在将数据网格绑定到ObservableCollection。可观察集合中的ViewModel没有无参数构造函数,因此CanUserAddNewRows的计算结果为false。
据我所知,ObservableCollection在绑定时默认为ListCollectionView,IEditableCollectionViewAddNewItem实现在内部检查无参数构造函数;禁用AddNew。
如何提供数据网格请求的新对象/工厂?
答案 0 :(得分:1)
您可以从ListCollectionView派生并自定义其行为;然后你可以将它用作ObservableCollection的包装器并绑定到它而不是直接绑定到OC。当绑定到集合时,WPF无论如何都会在幕后创建一个ICollectionView,如果你直接提供它,它将使用它。
我相信Type of object created by ListCollectionView.AddNew做了类似的事情吗?
我建议花一些时间来了解ListCollectionView的所有特性,虽然它首先......它并非完全无关紧要,但它也不是火箭科学。