自定义集合在编辑时使 DataGrid 崩溃

2023-12-21

我目前正在尝试将 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(使用前将#替换为@)

自定义集合在编辑时使 DataGrid 崩溃 的相关文章

随机推荐

  • 服务器日志在 POST 请求之前显示 GET 请求

    当我查看服务器日志时 我看到定期 GET 请求在来自同一 IP 具有相同引荐来源网址的 POST 请求之前立即传入 我期望的是 POST 但不是 GET 有没有人见过这个 我正在使用 javascript 在 iframe 内动态创建一个表
  • ConvertTo-Csv 输出不带引号

    我在用ConvertTo Csv获取逗号分隔的输出 get process convertto csv NoTypeInformation Delimiter 它的输出如下 NounName Name Handles VM WS 但是我想获
  • 通过赋值启动子 shell 并等待

    如何通过分配变量来启动一些子shell并等待所有完成 bin bash some code about FILE 1 cat FILE while read r HOST n HOST do echo HOST URL http HOST
  • setInterval延迟不准确

    我目前正在使用 setInterval 创建倒计时 尽管目前它的运行速度比应有的慢 根据MDN https developer mozilla org en docs Web API window setInterval 延迟参数以毫秒为单
  • 无法使用 smack 连接 XMPP 服务器:实施基于 GCM XMPP 的应用程序服务器时出现 EOF 异常

    java io EOFException no more data available expected end tag to close start tag
  • 从图像中删除白色背景并使其透明

    我们正在尝试在 Mathematica 中执行以下操作 RMagick 从图像中删除白色背景并使其透明 https stackoverflow com questions 7738437 但对于实际照片来说 它最终看起来很糟糕 就像图像周围
  • 字典迭代——对于 dict 与 dict.items()

    当我们迭代下面的字典时 每次迭代都会 正确地 返回一个键值对 for key value in dict items print s key has the value s key value some key 键有值 some value
  • SDL 中的 Blit 是什么?

    在 SDL wiki 中它说 使用此函数可以执行从源表面到目标表面的快速 blit 但这对我没有多大帮助 在这种情况下 术语 表面位块传输 是什么意思 基本上 这意味着将图像从一个表面复制到另一个表面 可能会被裁剪和移动
  • 二分查找和使用前缀树哪个查找更快?

    假设我有一个字符串列表和这些字符串的前缀树 并且我想在给定键的情况下定位一个字符串 哪个更快 二分查找还是前缀树查找 为什么以及时间复杂度是多少 Thanks 这两种技术都有其优点和缺点 后缀树 Advantages O N 构建复杂度 O
  • mac 上 python 子进程中的 pdflatex

    我正在尝试在 Python 2 4 4 的 tex 文件上运行 pdflatex 子进程 在 Mac 上 import subprocess subprocess Popen pdflatex fullpathtotexfile shell
  • Go 指针、引用、解除引用的规则:

    我是 GoLang 的新手 来自 Delphi C 世界 不可否认 我对这种语言感到非常兴奋 我认为它注定会成为 下一件大事 我试图了解 Go 解析器和编译器如何处理指针和引用 似乎找不到任何制定明确规则的地方 例如 在下面的代码示例中 返
  • 默认值 Specflow 步骤定义

    我刚开始接触 SpecFlow 的世界 并且遇到了第一个问题 在保持代码干燥方面 我想执行以下操作 有两种情况 Given I am on a product page And myfield equals todays date Then
  • 旋转 - 使用 LINQ C# 转置 List>

    我有一个List
  • LINQ查询任何属性包含字符串[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何查询类型 T 的集合 以返回 T 的所有项目 其中 T 的任何属性包含某个字符串 EDIT 假设我在检查是否包含之前将每个属性转换为字
  • 在 iPad 上捕获 DOM/HTML/BODY 上的 Click 事件

    我使用 jQuery 来检测 DOM 上的点击 或者让我们检测每次点击 document click function alert Click 除了 iPad iPhone 版 Safari 之外 该功能在所有浏览器中都表现良好 我还尝试在
  • 阅读 R 的电子邮件附件

    我正在使用 R 读取 Outlook 附件 我的参考资料在这里 使用 R 从 Outlook 电子邮件下载附件 https stackoverflow com questions 45577698 download attachment f
  • 以编程方式更改 WPF 中的按钮图标

    我目前有一个按钮 上面有一个图标 图像 我已经在 XAML 中配置了按钮和图像
  • 为什么静态构造函数没有任何参数?

    根据 MSDN 静态构造函数不采用访问修饰符或具有参数 在创建第一个实例或引用任何静态成员之前 会自动调用静态构造函数来初始化类 静态构造函数不能直接调用 谁能解释一下为什么静态构造函数不能有参数 正如 MSDN 所说 在创建第一个实例之前
  • 存储库模式与 DAL

    它们是一样的吗 刚刚看完罗布 康纳利的店面教程 https www asp net mvc videos mvc 1 aspnet mvc storefront aspnet mvc storefront part 1 architectu
  • 自定义集合在编辑时使 DataGrid 崩溃

    我目前正在尝试将 DataGrid ItemsSource 绑定到自定义 RowCollection 它实现 IList 和 INotifyCollectionChanged Public Class RowCollection of T