Вы также можете установить привязку в коде.
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 - То же самое можно добавить для поля со списком