我有一个文本框:
<TextBox FontSize="10">
<TextBox.Text>
<Binding Path="EstatusAdministrativo" ValidatesOnDataErrors="True" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<validations:IsRequiredValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
这个文本框绑定到ViewModel中的一个变量,它看起来像这样:
private string _EstatusAdministrativo;
public string EstatusAdministrativo {
get {
return _EstatusAdministrativo;
}
set {
_EstatusAdministrativo = value;
OnPropertyChanged();
}
}
文本框内的验证如下所示:
public class IsRequiredValidationRule: ValidationRule {
public override ValidationResult Validate(object value, CultureInfo cultureInfo) {
string strValue = Convert.ToString(value);
if (string.IsNullOrWhiteSpace(strValue))
return new ValidationResult(false, $ "Por favor llenar este campo.");
return new ValidationResult(true, null);
}
}
当我删除文本框中的所有字符时,EstatusAdministrativos的值并没有设置为null。当我清空文本框时,它不会触发set方法。为什么会发生这种情况,我该如何解决?