2010-11-27 55 views
0

我有一些VBox按鈕。點擊按鈕後,我想讓按鈕更改標籤。我試圖使用代碼隱藏實踐,但按鈕的實例始終爲空。有代碼:Flex 3:代碼隱藏問題

package TestPackage 
{ 
    import mx.containers.VBox; 
    import mx.controls.Button; 
    public class ControlsBox extends VBox 
    { 
     [Bindable] 
     public var btnPlay : Button; 
     public function ControlsBox() 
     { 
      super(); 
     } 
     override protected function childrenCreated():void 
     { 
      super.childrenCreated(); 
     } 
     public function ChangeImage():void 
      { 
       btnPlay.label = "a"; 
      } 
    } 
} 

Here is mxml: 
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:controls="TestPackage.*"> 
<controls:ControlsBox id="ctrlVBox"> 
     <mx:Button id="btnPlay" click="this.ctrlVBox.ChangeImage();" label="c"></mx:Button> 
</controls:ControlsBox> 
</mx:Application> 

我在做什麼錯?以及如何正確地做到這一點? 感謝

回答

0

我不這樣做很經常彎曲,但我想你想是這樣的:

<controls:ControlsBox id="ctrlVBox"> 
    <controls:btnPlay> 
     <mx:Button click="this.ctrlVBox.ChangeImage();" label="c"></mx:Button> 
    </controls:btnPlay> 
</controls:ControlsBox> 
+0

嗯....看起來奇怪......我想有一個按鈕,我希望有機會從代碼隱藏中使用它...在代碼中,我們應該在另一個按鈕中插入一個按鈕。我不明白爲什麼......謝謝 – mimic 2010-11-28 00:10:56