2

いくつかの州に含まれている特定のボタンがあります。それらの状態の中でそれを無効または有効にする必要があります。

しかし、それは問題ではありません。実際の問題は次のとおりです。2つの異なるスタイルクラスがあり、アクティブ状態内で、それぞれをボタンの有効または無効に割り当てたいと考えています。

したがって、アクティブ状態チェックの中で、ボタンが有効になっているかどうかを確認し、[たとえば] .redスタイルクラスを割り当て、無効になっている場合は.blueスタイルクラスを割り当てる必要があります。

どうすればいいですか?前もって感謝します...

4

1 に答える 1

1

これを行うには、MXML でドット表記を使用できるはずです。

<s:Button styleNanem.state1 ="red" styleName.state2="blue" />

この構文は Flex 4 で導入されたと確信しています。


有効なプロパティが変更されるたびにボタンの状態を変更する必要がある場合は、これを関数でループできます。

protected function changeButtonState(enabledValue:Boolean, styleName:String):void{
 this.button.enabled = enabledvalue;
 this.button.styleName = styleName;
}

有効なプロパティを直接設定する代わりに、上記の方法を使用してください。状態に基づいて styleName を決定できます。


この投稿へのコメントに対する 3 回目の更新

プロパティが変更されると、Flex Framework クラスのほぼすべてのプロパティが propertyChanged イベントを送出します。したがって、ボタンで enabledChanged イベントをリッスンできます。メタデータが設定されていないため、ActionScript でイベント リスナーを追加する必要があります。

button.addEventListener('enabledChanged',onEnabledChanged);

protected function onEnabledChanged(event:Event):void{
  if(currentState = 'state1'){
    if(button.enabled){
      button.styleName = 'blue';
    } else {
      button.styleName = 'red';
    }
  } else if (currentState = 'state2'){
    if(button.enabled){
      button.styleName = 'green';
    } else {
      button.styleName = 'orange';
    }

  }
}
于 2013-02-06T13:53:00.760 に答える