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: 420
        
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