【发布时间】:2012-08-10 21:27:13
【问题描述】:
我有一个文本框,有时我只想根据复选框值验证其文本。检查时使用验证,未检查时不验证。
我可以让它验证正常,红色框出现在它周围,但是当我不想验证它时,文本框周围的红色框会保留。我尝试清除文本框上的绑定,但没有成功。
【问题讨论】:
-
您是如何实施验证的?
标签: c# wpf validation binding
我有一个文本框,有时我只想根据复选框值验证其文本。检查时使用验证,未检查时不验证。
我可以让它验证正常,红色框出现在它周围,但是当我不想验证它时,文本框周围的红色框会保留。我尝试清除文本框上的绑定,但没有成功。
【问题讨论】:
标签: c# wpf validation binding
在您的情况下,您需要实现类似这样的自定义验证:
public class TestModel : ValidationRule
{
public bool IsChecked { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
if (IsChecked)
{
if (string.IsNullOrEmpty(FirstName))
{
return new ValidationResult(false, "FirstName requierd.");
}
}
return new ValidationResult(true, null);
}
}
希望对您有所帮助。
【讨论】: