【发布时间】:2021-07-24 13:20:43
【问题描述】:
您好,有一个使用 MVVM 的应用程序,XAML 中有 3 个文本框,所有这些文本框都必须不为空,底部有一个提交按钮,我已经实现了一个验证器,以便文本框当它们不为空时,在带有红色边框的 UI 中显示错误,我想要的是,当文本框处于错误状态时也禁用提交按钮
我尝试的一种方法是像这样实现IDataErrorInfo
#region IDataErrorInfo Members
public string Error
{
get { return null; }
}
public string this[string propertyName]
{
get
{
//Code here to manually disable the submit button, if the fields are empty
return null;
}
}
#endregion
我可以手动检查文本框是否为空,因为它们已绑定到属性,我还可以使用属性将提交按钮的 isEnabled 属性绑定相同,但 IDataErrorInfo 中的方法只是没有每次验证状态更改时都不会受到影响。
基本上我不能让 submit 后面的方法执行,除非表单是有效的并且以一种不会破坏线的方式来执行
【问题讨论】:
标签: c# wpf validation mvvm error-handling