@Vamba45

Как в WPF сделать ограничение на некоторые символы в TextBox?

Как, к примеру, сделать возможность вводить только числа в текстовое поле TextBox? Либо наоборот только буквы. Искал про это инфу, нашёл решение для WinForms. Пробовал как этот вариант:
char number = e.KeyChar;
 
 if (!Char.IsDigit(number))
 {
    e.Handled = true;
 }

Так и этот:
if (e.KeyChar <= 47 || e.KeyChar >= 58)
{
    e.Handled = true;
}


Для WPF они не работали
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
twobomb
@twobomb
Должны работать, вешайте на событие PreviewTextInput и проверяйте не e.KeyChar,а e.Text
типа
public Window()
        {
            InitializeComponent();
            this.textBox.PreviewTextInput += new TextCompositionEventHandler(textBox_PreviewTextInput);
        }
 
        void textBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            if (!Char.IsDigit(e.Text,0)) e.Handled = true;
        }
Ответ написан
mindtester
@mindtester Куратор тега C#
учу учиться.. чаще на C#. но бывают и варианты..
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы