     override protected function createChildren():void
     {
         super.createChildren();
-        _tempField = new Label();
+		var labelClass:Class = getLabelClass();
+        _tempField = new labelClass();
         _tempField.visible = false;
         _tempField.text = "W...";
         _tempField.toolTip = "";
-        addChild(_tempField);
+        addChild(_tempField as DisplayObject);
         _tempField.validateNow();
     }
+	
+	private function getLabelClass():Class
+	{
+		var labelClass:Class = getStyle("labelClass");
+		if(labelClass == null)
+		{
+			try{
+				labelClass = Class(ApplicationDomain.currentDomain.
+					getDefinition("spark.components::Label"));
+			}
+			catch(e:Error)
+			{
+				labelClass = Class(ApplicationDomain.currentDomain.
+					getDefinition("mx.controls::Label"));
+			}
+		}
+		return labelClass;
+	}
 
     /**
      *  @private

                        else
                        {
                            _tempField.setStyle('fontSize',size);
                            if (_tempField.textWidth > v.labelWidth || columnSeries.measuringField.textHeight > v.labelHeight)
                            {
                                labelScale = v.labelWidth / _tempField.textWidth;
                                labelScale = Math.min(labelScale, v.labelHeight / (columnSeries.measuringField.textHeight));
                                if (size * labelScale > labelSizeLimit)
                                {

    /**
     * @private
     */
    private var _tempField:Object;   
    //--------------------------------------------------------------------------
    //
    //  Properties
