Create WPF TextBox that accepts only numbers
Posted
by Elad
on Stack Overflow
See other posts from Stack Overflow
or by Elad
Published on 2009-08-04T07:33:50Z
Indexed on
2010/06/05
11:32 UTC
Read the original article
Hit count: 362
I would like to create a TextBox that only accepts numeric values, in a specific range. What is the best way to implement such TextBox?
I thought about deriving TextBox and to override the validation and coercion of the TextProperty. However, I am not sure how to do this, and I understand that deriving WPF control is generally not recommended.
Edit:
What I needed was a very basic textbox that filters out all key presses which are not digits. The easiest way to achieve it is to handle the TextBox.PreviewTextInput event:
private void textBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
int result;
if (!validateStringAsNumber(e.Text,out result,false))
{
e.Handled = true;
}
}
(validateStringAsNumber is my function that primarily use Int.TryParse)
Some of the suggested solutions are probably better, but for the simple functionality I needed this solution is the easiest and quickest to implement while sufficient for my needs.
© Stack Overflow or respective owner