1
我有一個特定的按鈕,其中包含一些狀態。我必須在這些州內禁用或啓用它。Flex:更改每種狀態下啓用/禁用按鈕的樣式
但這不是問題。 其實問題是:我有2個不同的樣式類,我想將它們中的每一個都分配爲啓用或禁用按鈕,處於活動狀態。
所以我必須在主動狀態檢查中,如果現在的按鈕啓用[例如] .red風格類分配給它,如果它的禁用,分配的.blue樣式類。
我該怎麼辦? 在此先感謝...
我有一個特定的按鈕,其中包含一些狀態。我必須在這些州內禁用或啓用它。Flex:更改每種狀態下啓用/禁用按鈕的樣式
但這不是問題。 其實問題是:我有2個不同的樣式類,我想將它們中的每一個都分配爲啓用或禁用按鈕,處於活動狀態。
所以我必須在主動狀態檢查中,如果現在的按鈕啓用[例如] .red風格類分配給它,如果它的禁用,分配的.blue樣式類。
我該怎麼辦? 在此先感謝...
您應該能夠使用點notationin 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;
}
不是直接設置enabled屬性,而是使用上面的方法;您可以根據狀態確定styleName。響應評論對這個職位
第三次更新幾乎在Flex框架類每個屬性調度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';
}
}
}
謝謝,但問題不在於此。我想要2個不同的類,用於啓用或禁用狀態中的按鈕;對於不同的州來說不是這兩個類。 – borna
您可以在更改按鈕的啓用屬性的同一點更改狀態嗎? – JeffryHouser
Yeap。我可以更改狀態,也可以在每個狀態中啓用或禁用狀態。我只需要一種監聽器來監聽一個狀態(沒有區別哪一個),如果Button啓用了,現在就給它賦予我的_.red_類。否則,請不要更改styleName。 – borna