我目前正在尝试将 DataGrid.ItemsSource 绑定到自定义 RowCollection,它实现 IList 和 INotifyCollectionChanged:
Public Class RowCollection(of T)
Implements IList(Of T)
Implements INotifyCollectionChanged
Private _List As New List(Of T)
...
(对 VB 代码感到抱歉,我很快就会将所有代码转换为 C#。)
注意班级does not从任何现有的 CLR 集合派生。我创建了自己的类,因为我需要重写 GetItemAt,以实现记录分页。
集合在内部从其自己的私有列表中添加和删除对象_List
.
现在,我可以查看 DataGrid 中的项目,但是只要双击要编辑的单元格,我就会收到一个InvalidOperationException:“EditItems”不可用。.
我的问题是,为了使我的集合与 DataGrid 完全兼容,我还应该实现哪些其他接口?
Here http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.aspx您可以阅读以下内容:
Editing
默认情况下,您可以编辑项目
直接在数据网格中。以保证
可以提交编辑并且
正确取消,中的对象
DataGrid 必须实现
IEditableObject 接口。
或者,您可以设置
IsReadOnly 属性设置为 true 以禁用
在 DataGrid 中进行编辑。
IEditableObject 接口是here http://msdn.microsoft.com/en-us/library/system.componentmodel.ieditableobject.aspx另请参阅 IEditableCollectionViewhere http://msdn.microsoft.com/en-us/library/system.componentmodel.ieditablecollectionview.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)