2009-09-03 78 views
1

我試圖設置一個窗體,當一個ArrayCollection被綁定到幾個項目時呈現一個組合框,並且當它爲空或只有一個項目。我試着通過創建這個類來做到這一點,但不幸的是,我們綁定的數據提供者在執行setter時不會是空的。有沒有不同的方式我應該這樣做?Flex:基於Databinding事件的內容更改控件屬性

public class ComboboxOrFail extends ComboBox 
{ 
    public function ComboboxOrFail() 
    { 
     super(); 
    } 

    public override function get dataProvider():Object 
    { 
     return super.dataProvider; 
    } 

    public override function set dataProvider(value:Object):void 
    { 
     this.visible = (value && value.length && value.length > 1); 
     super.dataProvider = value; 
    } 
} 

回答

1

我以不同的方式做到了這一點:

<mx:ComboBox dataProvider="{myData}" visible="{myData != null &amp;&amp; myData.length > 1}"/> 

假設myData的是綁定的,這應該做的伎倆!