Создать WPF TextBox, который принимает только цифры [дубликаты]
На этот вопрос уже есть ответ здесь:
Как я могу получить TextBox, чтобы принимать только числовой ввод в WPF? 28 ответовЯ хотел бы создать TextBox, который принимает только числовые значения в определенном диапазоне. Каков наилучший способ реализовать такой TextBox?
Я думал о создании TextBox и переопределении проверки и приведения TextProperty. Однако я не уверен, как это сделать, и понимаю, что получение контроля WPF обычно не рекомендуется.
Редактировать:Мне нужно было очень простое текстовое поле, которое отфильтровывает все нажатия клавиш, которые не являются цифрами. Самый простой способ добиться этого - обработать событие TextBox.PreviewTextInput:
private void textBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
int result;
if (!validateStringAsNumber(e.Text,out result,false))
{
e.Handled = true;
}
}
(validateStringAsNumber - моя функция, которая в основном использует Int.TryParse)
Некоторые из предложенных решений, вероятно, лучше, но для простой функциональности, в которой я нуждался, это решение является самым простым и быстрым в реализации, но достаточным для моих нужд.