В WPF: установите ValidatesOnDataErrors = true программно - PullRequest
4 голосов
/ 26 ноября 2010

Есть ли способ установить ValidatesOnDataErrors = True программно?

У меня есть обычный текстовый класс, который наследуется от текстового поля следующим образом:

public class ActiveTextBox:TextBox
    {
      public ActiveTextBox(){}
    }

Я хочу, чтобы значения ValidatesOnDataErrors по умолчанию имели значение true для каждого экземпляра этого текстового поля

Есть идеи?

1 Ответ

4 голосов
/ 26 ноября 2010

Полагаю, вы говорите о TextProperty для TextBox?
См. эту запись.

Один из способов - создать собственную наследуемую привязку.

public class ValidationBinding : Binding
{
    public ValidationBinding()
        : base()
    {
        this.ValidatesOnDataErrors = true;
    }
    public ValidationBinding(string path)
        : base(path)
    {
        this.ValidatesOnDataErrors = true;
    }
}

А в xaml

<my:ActiveTextBox Text="{l:ValidationBinding MyProp}" />

В этом посте есть и другие полезные советы, если этот пост вам не подходит.

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