Добавьте ValidationRules в одну строку xaml ИЛИ сокращенное обозначение ValidationRules - PullRequest
4 голосов
/ 24 октября 2011

Я использую PasswordBox, который предоставляет свойство зависимости, которое я могу привязать к нему.Проблема заключается в том, что, используя его так, я не могу сократить Binding.ValidationRules для этого синтаксиса:

<PasswordBox services:RPLPasswordBoxBinder.BindPassword="True" 
             services:RPLPasswordBoxBinder.BoundPassword="{Binding Path=LoginUser.Parola, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> 
</PasswordBox>

Я установил свои ValidationRules в текстовое поле, например:

<TextBox.Text>
   <Binding Path="LoginUser.Parola" UpdateSourceTrigger="PropertyChanged">
       <Binding.ValidationRules>
           <some validation rule/>
        </Binding.ValidationRules>
   </Binding>
</TextBox.Text>

IsЕсть ли способ указать коллекцию ValidationRules для моего PasswordBox в одной строке xaml?Или, может быть, есть другое умное решение для проверки ввода пользователя в поле моего пароля?

Некоторые пояснения: я использую MVVM и не хочу использовать код позади.

Я хочу добавитьтолько одно ValidationRule.Возможно, проблема с сокращением Binding.ValidationRules заключается в том, что это свойство является коллекцией.В моей ситуации было бы достаточно одного правила валидации.

Есть аналогичный вопрос о stackoverflow здесь .Я задаю аналогичный вопрос, так как мой представитель не позволяет мне комментировать там, и моя проблема в другом, потому что я не просто хочу повысить удобочитаемость, но фактически проверить свой PasswordBox.

Большое спасибо заранее!

1 Ответ

0 голосов
/ 24 октября 2011

Я полагаю, что вы основываете свой класс модели данных на IDataErrorInfo, и затем выполняется проверка там, а не в коде позади.

Есть много примеров, но вот один для начинающих , а другой здесь .

...