Datagrid:停止/取消AddNew或EditItem事务?

时间:2011-10-18 10:39:43

标签: wpf datagrid editmode

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

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

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

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

现在的问题是,在某些情况下,程序失败并出现“无效的操作异常”,即当数据网格上的AddNew或EditItem - Transaction“正在运行时,无法完成Refresh()。” / p>

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

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

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

0 个答案:

没有答案