Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf Datagrid:停止/取消AddNew或EditItem事务?_Wpf_Datagrid_Editmode - Fatal编程技术网

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

Wpf Datagrid:停止/取消AddNew或EditItem事务?,wpf,datagrid,editmode,Wpf,Datagrid,Editmode,我使用datagrid显示用户可以在图像上创建的“选择矩形”的坐标 我将数据网格数据绑定到一个可观察的集合,因为坐标也需要用于其他目的 因此,当用户创建一个新矩形时,一个新条目被添加到可观察集合中 要在datagrid中直接显示新矩形的坐标,我必须调用“myDatagrid.Items.Refresh()” 现在的问题是,在某些情况下,程序失败并出现“无效操作异常”,即在datagrid上的“AddNew或EditItem-Transaction”运行时无法执行Refresh() 我不知道这些事

我使用datagrid显示用户可以在图像上创建的“选择矩形”的坐标

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

因此,当用户创建一个新矩形时,一个新条目被添加到可观察集合中

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

现在的问题是,在某些情况下,程序失败并出现“无效操作异常”,即在datagrid上的“AddNew或EditItem-Transaction”运行时无法执行Refresh()

我不知道这些事务是在什么地方触发的,但我观察到只有在调用Refresh()时,鼠标移动器在datagrid的一个单元格中处于活动状态时才会发生异常

因此,有一些可能的提示对我很有帮助:

  • 如何“手动”取消datagrid所有单元格的编辑模式? (当然,我已经尝试了DataGrid.CancelEdit()和DataGrid.committedit(),但是没有帮助)
  • 什么是EditItem事务/AddItem事务,或者如何停止它的运行
  • 不使用DataGrid.Refresh()安全更新绑定的任何其他想法