Как внедрить Wpf Combo box Validation - PullRequest
       3

Как внедрить Wpf Combo box Validation

0 голосов
/ 20 октября 2010

Во время одного из моих проектов мне нужно добавить обязательные проверки полей в поле со списком приложения wpf.в нашем процессе мы генерируем форму в зависимости от условия.после генерации формы и отрисовки всех элементов управления нам необходимо реализовать правило проверки для элементов управления, например, для обязательного текстового поля. Мне нужно проверить, пусто ли это поле или нет, и в поле со списком проверка будет проверять выбранный индексиндекс больше 0.

Я ищу все вышеуказанные требования, но все они дают мне пример привязки и применения правила проверки в файле xaml, а не в файле кода

howМогу ли я применить необходимые проверки полей в текстовом поле, поле со списком, поле со списком и флажок?

Ответы [ 3 ]

4 голосов
/ 20 октября 2010

Вы также можете установить привязку в коде.

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

0 голосов
/ 20 октября 2010

Если вы не хотите использовать привязку, вы можете просто перехватить событие LostFocus и реализовать свои правила проверки.

0 голосов
/ 20 октября 2010

Это обеспечивает ValidationRule с примером кода C #.Кроме того, этот ответ может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...