如何实现Wpf组合框验证

时间:2010-10-20 06:58:42

标签: c# wpf

在我的一个项目中,我需要在wpf应用程序的组合框中添加必需的字段验证。在我们的过程中,我们根据条件生成表格。在生成表单并呈现所有控件之后,我们需要为控件实现验证规则,例如对于所需的文本框,我需要检查此字段是否为空,并且在组合框上验证将检查所选索引是否大于0指数。

我正在搜索上述所有要求,但所有这些都给了我绑定并在xaml文件中应用验证规则的示例而不是在代码文件中

如何在文本框,组合框,列表框和复选框中应用必填字段验证?

3 个答案:

答案 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事件并实现验证规则。