0

问候,

我对 WPF 比较陌生,并且遇到了与使用 DataGrid 控件进行验证有关的问题。我已经阅读了这篇文章 (http://msdn.microsoft.com/en-us/magazine/ff714593.aspx),它涵盖了三种不同的验证方式,但它们似乎都没有解决如何防止设置值或调用在执行所有验证之前撤消/重做命令。

我想确保只能在单元格中输入正数。我设置了一个验证规则来检查单元格是否包含负数,并且我处理 DataGrid 的 CellEditEnding 事件以了解何时实际更改模型层中使用的数字。问题是在验证规则之前调用了 CellEditEnding。当验证规则发现问题时,模型中的数字已经设置好了。我需要的是 CellEditEnded,但似乎这个事件只存在于 Silvelight 版本的 DataGrid 中。

有任何想法吗?

谢谢

4

1 回答 1

0

数据网格是一个棘手的问题,而且非常复杂。我认为在这种情况下,我可能会尝试更改绑定到的属性的“setter”。如果用户输入无效值,则抛出异常。数据网格支持显示带有验证错误(红色边框)的无效单元格,以便用户查看哪些单元格/行有问题。

这并不理想,但它可能会奏效。

于 2011-06-21T03:37:23.137 回答