Create a variable like below and bind the numeric text box to it:
decimal? myNumber = 9;
decimal? MyNumber
{
get { return this.myNumber; }
set { this.myNumber = value; }
}
Put a breakpoint on the setter, run the application, and clear out the text box. The breakpoint will never be hit. If you enter a numeric value the breakpoint will be hit. The problem appears to only be with clearing the text box.