У меня есть следующее текстовое поле:
<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();
}
}
Проверка внутри текстового поля выглядит следующим образом this:
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 не устанавливается как ноль. Это не вызывает метод set, когда я очищаю текстовое поле. Почему это происходит и как я могу это решить?