(暂时)在WPF中禁用验证

时间:2012-09-13 21:15:40

标签: wpf validation

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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

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

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

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