Как я могу ограничить значения, которые пользователь вводит в TextBox?

2

Пользователи моего приложения могут вводить значения в текстовые поля. В некоторых случаях значения должны быть ограничены определенным диапазоном, например. От 0 до 1 или от 1 до 50. В других случаях они могут вводить только до 13 или 20 символов.

Могу ли я использовать Binding.StringFormat для обеспечения соблюдения этих диапазонов? Если да,

  • что мне нужно указать для ограничения значений определенной длины символа?
  • что мне нужно указать для ограничения значений для определенного диапазона?

Если нет, то какой лучший способ реализовать это?

  • 0
    Почему бы просто не использовать элемент управления Slider для числовых значений?
Теги:
xaml
wpf

4 ответа

2

Вам нужно использовать маску ввода, ознакомьтесь с этой статьей WPF Maskable TextBox для числовых значений

На основе этой статьи в Events TextBox_PreviewTextInput и TextBoxPastingEventHandler вы можете проверить диапазон.

2

То, что вы хотите, - это проверка ввода. Для начала этот учебник по MSDN поможет вам, больше информации о IDataErrorInfo (предпочтительный путь) можно найти здесь.

Этот вопрос уже был темой для SO: Рекомендации по привязке и привязке WPF к данным

1

Vaildation в WPF Проект кода должен дать вам хорошее начало.

Также должен помочь связанный с ним вопрос WPF Validators, такой как ASP.NET.

  • 0
    Я согласен с Джошуа Дрейком. Используйте валидацию. У меня есть пример того, как сделать проверку для вас. wpfsharp.com/2012/02/03/...
0

Свойство длины текстового поля должно решить

Textbox.maxlength= 10;

Ещё вопросы

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