在我的一个项目中,我需要在wpf应用程序的组合框中添加必需的字段验证。在我们的过程中,我们根据条件生成表格。在生成表单并呈现所有控件之后,我们需要为控件实现验证规则,例如对于所需的文本框,我需要检查此字段是否为空,并且在组合框上验证将检查所选索引是否大于0指数。
我正在搜索上述所有要求,但所有这些都给了我绑定并在xaml文件中应用验证规则的示例而不是在代码文件中
如何在文本框,组合框,列表框和复选框中应用必填字段验证?
答案 0 :(得分:4)
您也可以在代码中设置Binding。
1-创建一个新的验证规则类,如下所示。
public class TextBoxEmptyRule : ValidationRule
{
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
ValidationResult vr = new ValidationResult(true,null);
if (string.IsNullOrEmpty(value))
{
vr.ErrorContent = " Value can not be null!";
vr.IsValid = false;
}
return vr;
}
}
2-定义新文本框时,可以在运行时添加绑定,如下所示。
TextBox txt = new TextBox();
Binding b = new Binding("Your Path Here");
b.Source = "Your Source Here";
b.ValidationRules.Add(new TextBoxEmptyRule());
txt.SetBinding(TextBox.TextProperty, b);
3-您可以为绑定添加尽可能多的规则。
4-可以为组合框添加相同的内容
答案 1 :(得分:0)
这为ValidationRule
提供了C#示例代码。此外,this回答可能会有所帮助。
答案 2 :(得分:-2)
如果您不想使用绑定,您可以简单地捕获LostFocus事件并实现验证规则。