これを行うには、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';
}
}
}