6

当一个类实现 IDataErrorInfo 接口并且该类是与表单绑定的一部分时,有没有办法暂时禁用与绑定关联的验证?

例如,如果我不想在我的类的属性中允许空字符串,当表单打开时,绑定控件被标记为有错误(默认情况下带有红色边框)。我认为立即将输入标记为有错误(在用户甚至有机会输入内容之前)有点笨拙。有没有解决的办法?

我下午大部分时间都在搜索,但我似乎想出的是如何禁用提交按钮,直到所有输入都有效(这不是我真正想要的)。

4

1 回答 1

4

在实现 IDataErrorInfo 的类中有一个标志,该标志控制何时完成验证,例如 DoValiation;

当标志为假时,您将使 IDataErrorInfo 报告没有错误(即返回 null 等)。

在视图初始化期间,您可以在模型中将 DoValidation 标志设置为 false,然后让视图对您的数据执行所有绑定。

视图“加载”后,您将 DoValidation 标志设置为 true....从那时起...如果值仍然无效,对数据的更改将导致错误指示符出现。

有关如何构建 IDataErrorInfo 代码的更多详细信息,请参阅其他帖子:

于 2012-09-13T21:34:03.230 回答