setStyle backgroundImage在Flex动作不起作用

问题描述:

我动态创建一个画布,我需要在画布内的背景图像。创建画布时会接受拖放,但背景图像不显示。setStyle backgroundImage在Flex动作不起作用

在画布触发是:

buttonNew.addEventListener("click",addCanvas); 

画布代码:

private function addCanvas(oEvent:Event):void 
      { 
       caNew = new Canvas(); 
       caNew.id = "cart" 
       caNew.name = "Shopping Cart"; 
       caNew.x = 100; 
       caNew.y = 450; 
       caNew.width = 200;       
       caNew.height = 146;    
       caNew.setStyle("backgroundImage",cart_icon); 
       //caNew.setStyle("backgroundColor","#98AEEF"); 
       this.addChild(caNew); 
       caNew.addEventListener(DragEvent.DRAG_ENTER, dragAcceptShop); 
       caNew.addEventListener(DragEvent.DRAG_DROP, dragDropShop); 

       laNew = new Label(); 
       laNew.id = "contain" 
       laNew.text = "Shopping Cart"; 
       laNew.x = 100; 
       laNew.y = 450; 
       laNew.width = 120;       
       laNew.height = 50; 
       this.addChild(laNew); 

      } 

我在做什么错?就像我使用backgroundImage一样,它工作正常,只有颜色有效。

+0

你在哪里定义cart_icon? – JeffryHouser

+0

[嵌入( “资产/ Cart.png”)] \t \t \t [绑定] \t \t \t私人变种cart_icon:类; –

+0

在代码中,即使我尝试在引用“assets/Cart.png”中添加完整源代码仍然无效 –

您没有指定您使用的是哪个版本的Flex SDK,但backgroundImage不是Spark主题中的可用样式。 Spark是Flex 4(及更高版本)项目的默认主题。 Check out all available sytles

一种选择是将一个Image组件添加为画布上的第一个子项。

+0

我正在使用Flex 4.5,并将尝试将图像组件添加为画布中的子项。如果他们允许backgroundImage会更容易... –

+0

谢谢...画布上的孩子做到了这一招。 –