             if (item is String && labelFunction == null)
             {
                 navItem = Button(createNavItem(String(item)));
+
+                navItem.enabled = enabled;
             }
             else
             {
                 var label:String = itemToLabel(item);
                 // if labelField doesn't exist in item, label will be null;
 
-                if (iconField)
+                if (iconField != "")
                 {
                     var iconValue:Object = null;
 

                    navItem = Button(createNavItem(label, null));
                }

                // Assigning undefined to a String coerces to "",
                // which cancels an ancestor's tooltip.
                // So we have to change undefined to null.
                if (toolTipField)
                {
                    try
                    {
                        navItem.toolTip = (item[toolTipField] === undefined
                                           ? null
                                           : item[toolTipField]);
                    }
                    catch(e:Error)
                    {
                    }
                }
            }

            navItem.enabled = enabled;
        }
        resetNavItems();
    }


        dispatchEvent(new Event("collectionChange"));
    }


    //----------------------------------
    //  enabledField
    //----------------------------------

    /**
     *  @private
     *  Storage for the enabled property.
     */
    private var _enabledField:String = "enabled";

    [Bindable("enabledFieldChanged")]
    [Inspectable(category="Data")]

    /**
     *  Name of the the field in the <code>dataProvider</code> object
     *  to use as the enabled label.
     *  
     *  @default "enabled"
     *  
     *  @langversion 3.0
     *  @playerversion Flash 11.1
     *  @playerversion AIR 3.4
     *  @productversion Flex 4.10
     */
    public function get enabledField():String
    {
        return _enabledField;
    }

    /**
     *  @private
     */
    public function set enabledField(value:String):void
    {
        _enabledField = value;

        // If we have a data provider, update here to
        // reflect new enabled field.
        if (_dataProvider)
            dataProvider = _dataProvider;

        dispatchEvent(new Event("enabledFieldChanged"));
    }


    //----------------------------------
    //  iconField
