     {	
         super.commitProperties();
 		
-		if (maxChanged || stepSizeChanged)
+		if (maxChanged || stepSizeChanged || displayFormatFunctionChanged)
     	{
     		textInput.widthInChars = calculateWidestValue();
     		maxChanged = false;
     		stepSizeChanged = false;
+    		
+    		if (displayFormatFunctionChanged)
+    		{
+                applyDisplayFormatFunction();
+               
+                displayFormatFunctionChanged = false;
+    		}
     	}
 			
         if (maxCharsChanged)

            textInput.maxChars = _maxChars;
            maxCharsChanged = false;
        }
    }
    
    /**
     *  @private

                dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
        }
        
        if (dispatchChange)
        {
            if (value != prevValue)
