Wpf textbox только цифры

А также чтобы пользователь не мог стирать буквы Заранее Спасибо!

1 ответ 1

Учтите, что в этом варианте возможен хак при помощи Ctrl + V

Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# wpf или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.1.17.35809

Я хочу, чтобы пользователь вводил только числовые значения в TextBox .

Я получил этот код:

Но я не получаю событие e.KeyChar и e.KeyChar при использовании WPF.

Какое решение в WPF?

Edit:

Я принял решение!

8 ответов

Или создайте свое собственное текстовое поле для маскировки http://rubenhak.com/?p=8

Вы можете связать свое текстовое поле со свойством зависимости, а внутри метода проверки свойства зависимости вы можете проверить, возвращает ли int.tryparse значение true, тогда отлично, в противном случае вы можете перейти к значению по умолчанию или сбросить значение.

Или вы можете использовать WPF ValidationRules, чтобы узнать, когда значение изменяется. После изменения вы можете применить логику для проверки.

Или вы можете использовать IDataError Info для проверки.

В WPF значения кода ключа отличаются от нормальных значений winforms e.keychar,

В событие PreviewKeyDown текстового поля добавьте этот код:

Это позволит пользователю вводить только цифры в разделе Numpad0 — Numpad9 и D0 — D9, а также ключ.

Надеюсь, что это помогает, ура!

немного улучшенная версия Hasib Uz Zaman

это проверит на дублирование. (десятичный знак) и не позволит только только. (десятичный знак)

Довольно часто возникает задача сделать так, чтобы в текстовом поле можно было вводить только числовые данные.

Читайте также:  Zyxel nsa221 ee прошивки

В Delphi (C++ Builder) эта проблема частично решается с помощью установки соответствующих свойств компонента TEdit. Однако ни в Windows Forms ни в WPF этого нет.

Поэтому, запрещать ввод посторонних символов необходимо исключительно в коде программы. К счастью, это сделать не сложно.

Windows Forms

Для того чтобы запретить ввод посторонних символов нужно выполнить фильтрацию ввода в событии KeyPress.

У этого события есть свойство «KeyChar», которое хранит в себе вводимый символ. С помощью метода IsDigit класса Char можно проверить является ли этот символ цифрой. Если да, то разрешаем ввод, если нет запрещаем.

Ввод происходит только тогда, когда логическое свойство «Handled» события равно «ложь». Это позволяет при проверке обойтись без условного оператора.

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *