Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Сравнить текст в 2х TextBox'ax + validation


Автор: Kozel 13.6.2013, 09:25
Есть два текстбокса для ввода пароля и повтора ввода для проверки правильности. Как сравнить текст в них, чтобы ошибку можно было отобразить с помощью Validation.ErrorTemplate. 

Автор: dzaraev 28.6.2013, 23:38
Чтобы отобразить с помощью Validation.ErrorTemplate, необходимо использовать свойство ValidationRules класса Binding.
Это свойство надо заполнить экземплярами http://msdn.microsoft.com/ru-ru/library/system.windows.controls.validationrule(v=vs.110).aspx (или его наследниками).
В XAML это будет выглядеть например так:
Код

<TextBox Style="{StaticResource passwordBox}">
    <TextBox.Text>
        <Binding Path="NewPassword">
            <Binding.ValidationiRules>
                <ExceptionValidationRule/>
            </Binding.ValidationiRules>
         </Binding>
    </TextBox.Text>
</TextBox>


Далее, есть http://blogs.msdn.com/b/wpfsdk/archive/2007/10/02/data-validation-in-3-5.aspx - с помощью наследования ValidationRule и с помощью реализации IDataErrorInfo (смотри ссылку).

Для вашей задачи ValidationRule, как мне кажется, мало подходит и сложно реализуется (и скорее всего не обойдется без code-behind'a).
Поэтому рекомендую второй вариант. 
По второму варианту я сделал небольшой примерчик, надеюсь - поможет.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)