 
     //--------------------------------------------------------------------------
     //
-    // Methods
-    //
-    //--------------------------------------------------------------------------
-
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  maxChars
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the maxChars property.
+     */
+    private var _maxChars:int = 0;
+
+    /**
+     *  @private
+     */
+    private var maxCharsChanged:Boolean = false;
+
+    /**
+     *  The maximum number of characters that can be entered in the field.
+     *  A value of 0 means that any number of characters can be entered.
+     *
+     *  @default 0
+     */
+    public function get maxChars():int
+    {
+        return _maxChars;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maxChars(value:int):void
+    {
+        if (value == _maxChars)
+            return;
+            
+        _maxChars = value;
+        maxCharsChanged = true;
+        
+        invalidateProperties();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        if (maxCharsChanged)
+        {
+            textInput.maxChars = _maxChars;
+            maxCharsChanged = false;
+        }
+    }
+    
     /**
      *  @private
      */

        if (instance == textInput)
        {
            textInput.focusEnabled = false;
            textInput.addEventListener(FlexEvent.ENTER,
                                       textInput_enterHandler);
            textInput.text = value.toString();

    
    //--------------------------------------------------------------------------
    // 
    //  Event handlers
    //
    //--------------------------------------------------------------------------
        
    /**
     *  @private
     *  When the enter key is pressed, NumericStepper commits the
