Q:

Can't We get Current value of Text Box in PreviewKeyDown Event? 

I am trying to read Current value of Text Box in  PreviewKeyDown Event but unable to get current value. 
Here is my code ,
    private void txtDoscountValue_PreviewKeyDown(object sender, KeyEventArgs e)
    {
        try
        {
          if  (txtDoscountValue. Text == string. Empty)
              discountPercentage = 0;
          else
              discountPercentage = float. Parse(txtDoscountValue. Text);
              CalculateCart(cartItems, discountPercentage, 0);
        }
        catch
        { }
    }      

A:

Maybe your problem is that you are asking at PreviewKeyDown, so when it gets called, there is still no values in the box.  If you want to get called when the box actually changes you need to hook to KeyDown or even better TextChanged.  
PreviewKeyDown is for checking the content of the change before actually applying it, which is kind of validation. 
The value of the modification is stored in the keyEventArgs, not in the textbox.