我有一个使用包含数据网格的usercontrol的视图。视图的要求规定,如果用户从“客户名称”列中删除了值,则离开单元格,不提交编辑并将值更改回其原始值 - 即不允许空白客户名称。 usercontrol是共享代码,用于多个应用程序。编辑取消要求专门针对上述视图(并非所有使用usercontrol的应用程序)。如何检测客户名称单元格的值已被删除,如果值为空,则取消编辑?
答案 0 :(得分:3)
您可以处理CellEditEnding
- 它在提交或取消单元格编辑之前发生。在这里,您可以验证单元格的当前值,如果它满足您的条件[s],您可以执行您想要的任何操作。 MSDN
修改强>
这是我的建议,但我无法批准。
您可以通过e.Row.Item
获取新值,然后将其投放到您放在DataGrid
上的对象上。
另一种方法是以sender
对象的正确方式获取新单元格值的访问权。
+1是DataGridCellEditEndingEventArgs.EditingElement。它的FrameworkElement,我想你知道它是什么(可能是TextBox,或其他东西)。
我想你也知道应该做什么!