Datagrid结果没有意义

时间:2010-05-24 16:50:08

标签: c# wpf datagrid

我一直在使用WPF中的DataGrid并取得了很好的效果。但是,经过一些更改后,它现在给了我意想不到的结果。

之前:我在页面上有一个DataGridDataContext设置为List对象,该对象是从同一WPF项目中存在的类创建的。 DataGrid底部的空行,用于添加新记录, 可见

AFTER:相同页面,相同DataGrid。但现在List对象来自同一解决方案中的类库项目。 EXACT 相同的代码,但它现在被提取到类库中。数据网格底部的空行,用于添加新记录不可见

WTF?

4 个答案:

答案 0 :(得分:4)

我想我终于有了答案。基本上,我错了,我确实改变了班级的一小部分。当我读到这个答案时,“灯泡”继续进行:How do I create a new row in WPF DataGrid when it is bound to an XmlDataProvider?

底线:您要绑定的类需要有一个默认构造函数才能显示可编辑的行!

在我的代码中,我确实更改了构造函数(我完全忘了这一点),没有任何默认值。将默认构造函数添加回类中可以解决问题。

答案 1 :(得分:0)

它是什么样的清单?它公开可见的界面是否允许添加项目或者它现在是一个只读列表(例如IEnumerable,ICollection?

答案 2 :(得分:0)

我在设置DataGrid属性IsReadOnly =“True”时遇到了同样的问题。检查您是否具有相同的设置并尝试将其删除以查看会发生什么。

答案 3 :(得分:0)

可能是一些安全问题,甚至是一个错误。我刚看了this

  

我发现如果你访问了   ListCollectionView的CanAddRow一次   在使用该系列之前,   奇怪的是CanUserAddRows的   DataGrid成为现实。奇怪!

IEditableCollectionView ecv = new ListCollectionView(myRecordCache);
bool b = ecv.CanAddNew;   // dummy access
MyGrid.DataContext = ecv;