2009-03-03 8 views
0

次のように表示テキストを持つコンボボックス「の一つを選択」:ComboBoxプロンプトにバインド可能な文字列を使用できますか?

**これは、擬似コードである*

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:ComboBox prompt="Select One"> 
     <mx:dataProvider> 
      <mx:Array> 
       <mx:Object label="Obj 1" /> 
       <mx:Object label="Obj 2" /> 
       <mx:Object label="Obj 3" /> 
      </mx:Array> 
     </mx:dataProvider> 
    </mx:ComboBox> 
</mx:Application> 

ただし、以下のテキスト「のObj 1」(ラベルとコンボボックスを表示します

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:Script> 
     <![CDATA[ 
      [Bindable] 
      private var promptText:String = "Select One"; 
     ]]> 
    </mx:Script> 

    <mx:ComboBox prompt="{promptText}"> 
     <mx:dataProvider> 
      <mx:Array> 
       <mx:Object label="Obj 1" /> 
       <mx:Object label="Obj 2" /> 
       <mx:Object label="Obj 3" /> 
      </mx:Array> 
     </mx:dataProvider> 
    </mx:ComboBox> 
</mx:Application> 

なぜプロンプトにバインド可能な文字列を使用できないのですか?

答えて

0

これが働いた:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:Script> 
     <![CDATA[ 
      [Bindable] 
      private var promptText:String = "Select One"; 
     ]]> 
    </mx:Script> 

    <mx:ComboBox selectedIndex="-1" prompt="{promptText}"> 
     <mx:dataProvider> 
      <mx:Array> 
       <mx:Object label="Obj 1" /> 
       <mx:Object label="Obj 2" /> 
       <mx:Object label="Obj 3" /> 
      </mx:Array> 
     </mx:dataProvider> 
    </mx:ComboBox> 
</mx:Application> 

を私は明示的に-1にselectedIndexのを設定する必要があり、なぜ私が把握することはできません、しかし、それは動作します!

+0

バインディングはコンポーネント作成より少し遅れて発生します。私はあなたがプロンプトを指定しない場合、ComboBoxがデフォルトの最初の項目を選択することを推測しています。したがって、コンボボックスが作成され、それが検証されて最初のアイテムが選択され、バインドが開始されます。 – joshtynjala

+0

そうです。 –