Я новичок в WPF и создаю приложение, в котором всего несколько текстовых полей. Текстовые поля привязаны к некоторому источнику, используя MVVM. Теперь, когда я нажимаю кнопку «Сохранить», он должен запускать проверку для всех пустых текстовых полей, а сохранение события не должно запускаться. Как я могу достичь этого в WPF.Как правильно выполнить проверку текстового поля
Я написал валидатор, но он не называется. Смотрите мой код ниже:
<TextBox Width="250" Grid.Row="0" Grid.Column="1" Margin="10">
<TextBox.Text>
<Binding Path="ContinuousModel.FileName" ValidatesOnDataErrors="True" NotifyOnValidationError="True" Mode="TwoWay" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<validate:RequiredFieldValidatation />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
public class RequiredFieldValidatation:ValidationRule
{
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if (value == null || value.ToString() == string.Empty)
return new ValidationResult(false, "Value cannot be empty");
return ValidationResult.ValidResult;
}
}
выше валидатор вызывался только если какой-то текст написан затем изменить фокус затем вернуться и удалить значение, а затем изменить фокус.
ПРИМЕЧАНИЕ.: Используя MVVM и datatemplates, я загружаю пользовательские элементы управления varios, и эти элементы управления привязаны к viewmodel. Кнопка «Сохранить» находится в разных пользовательских элементах управления, поэтому я не могу проверять все текстовые поля вручную при нажатии кнопки «Сохранить».