Проверка Silverlight.Проблема с проверкой электронной почты - PullRequest
2 голосов
/ 01 декабря 2010

У меня есть текстовое поле, и я хочу подтвердить правильность адреса электронной почты в текстовом поле при нажатии кнопки «Сохранить».

Но стандартная проверка имеет странное поведение. Когда я печатаю новое письмо, оно всегда с ошибкой, и это очень раздражает. Я хочу показать ошибку только после нажатия кнопки, а затем текстовое поле должно стать действительным, если получил фокус. Есть ли стандартный способ сделать это в MODEL-VIEW-VIEWMODEL.

1 Ответ

3 голосов
/ 01 декабря 2010

Поведение по умолчанию для изменения связанного значения в TextBox - через LostFocus. Вам нужно изменить UpdateSourceTrigger, чтобы он был явным.

<TextBox Name="MyTextBox"
         Text="{Binding Path=FirstName, UpdateSourceTrigger=Explicit}" />

Тогда в вашем коде позади вы теперь должны явно вызвать UpdateSource через ваш Button обработчик кликов.

BindingExpression be = MyTextBox.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...