3

我使用数据网格来显示用户可以在图像上创建的“选择矩形”的坐标。

我使用数据网格的数据绑定到可观察的集合,因为其他目的也需要坐标。

因此,当用户创建一个新的 Rectangle 时,一个新条目被添加到 Observable 集合中。

要直接在数据网格中显示新矩形的坐标,我必须调用“myDatagrid.Items.Refresh()”。

现在的问题是,在某些情况下,程序因“无效操作异常”而失败,这表示在数据网格上的“AddNew 或 EditItem - 事务”正在运行时,无法完成 Refresh()。

我不确切知道在哪里触发了此事务,但我观察到只有当鼠标光标在数据网格的一个单元格中处于活动状态时才会发生异常,此时调用 Refresh()。

所以会有一些可能的提示对我有帮助:

  • 如何“手动”取消数据网格所有单元格的编辑模式?(当然我已经尝试过 DataGrid.CancelEdit() 和 DataGrid.CommitEdit(),但这并没有帮助)
  • 什么是 EditItem-Transaction / AddItem-Transaction 或如何阻止它运行?
  • 在不使用 DataGrid.Refresh() 的情况下安全更新绑定的任何其他想法。
4

0 回答 0