Использование свойства text = {binding var} для проверки значения введите в элемент управления textbox

1

Извините за мой английский,

У меня есть приложение Windows, использующее mvvm arquitecture. У меня есть элемент управления View with differents. Один из них - текстовое поле. Мне нужно подтвердить введенное пользователем значение и установить специальное значение в атрибуте и в представлении, если введенное пользователем значение неверно. Я должен использовать свойство binding textbox. Мне не разрешено использовать управление событиями... например: PreviewTextInput.

Например, это мой контроль:

 <TextBox Height="23" Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}"/>

Мне нужно В случае, если пользователь вводит цифру, текстовое поле не позволяет этого. Мне нужно В случае, если пользователь вводит значение отрицательного числа 1 в атрибуте Name и показывает в текстовом поле это значение. Кроме того, мне нужно, если пользователь вводит значение, большее 50, установленное в атрибуте Name 50 и отображаемое в представлении.

Как я могу это сделать?

благодарю!

////////////////////////

Большое спасибо Рауль, проблема в том, что я не могу отображать сообщения об ошибках (политика компании...) Мне нужно заменить ошибочное значение допустимым значением. Например:

public string Name {

{get { return _name; }

set
{
_name = value;

    if (String.IsNullOrEmpty(value))
    {
       // throw new ApplicationException("Customer name is mandatory."); 

    }
}
}

//Вместо того, чтобы бросать исключение, установите в текстовое поле числовое значение //50....like

if (string.IsNullOrEmpty(tbCasesNumber.Text))
            {
                txtName.text= "50";
            }

Как я могу это сделать в wpf?

Теги:
wpf
mvvm

1 ответ

0

Вы должны сделать проверку в свойстве модели просмотра. Я предлагаю прочитать валидацию в Windows Presentation Foundation, это отличное руководство и показывает, как работает валидация в WPF.

ОБНОВИТЬ

Я нашел очень полезные вещи, в первую очередь:

Приветствую;) и надеюсь, что это поможет...

  • 0
    большое Вам спасибо,
  • 0
    Если aswer был для вас полезен, вы должны либо проголосовать, либо отметить его как принятый :)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню