我正在使用以下链接中给出的示例来建立WPF应用程序作为基础:
在给出的示例中,使用OnValidating部分方法来调用验证,如果是nessesary,则在某些内容无效时抛出异常。
在ADO.NET EF中,没有部分方法可以允许您这样做,例如没有OnValidating方法可以覆盖。有什么,是部分方法,如:OnPropertyChanging和OnPropertyChanged,但我相信当你改变一个可以在使用数据绑定时遇到问题的属性时他们将被执行(我没有WPF的经验,但据我记得从winforms例如,一个网格将不可避免地构造一个模型的空实例并在之后传递值。因此,在一开始就抛出异常,因为某些要求未满足(例如,属性集)。
基于此,我只是在这里看错了方向吗?有没有更好的方法来执行验证?
Thnx提前!
答案 0 :(得分:1)
您应该在WPF中使用ValidationRules。它们仅用于验证目的。
看看here
答案 1 :(得分:1)
您可能对 WPF Application Framework (WAF) 的 BookLibrary 示例应用感兴趣。它显示了如何在WPF +实体框架中使用验证以及如何在存在验证错误时控制“保存”按钮。