2009-09-24 25 views
0

Flex 3的問題的功能集標籤:flex3:如何重寫一個按鈕

我想在這裏,以避免資源綁定到我的所有部件標籤(例如,一個按鈕),並找到一種方法,有這樣的自動化。

問題: 它破壞了設計模式下的佈局,直接綁定到mxml label =「{resourceManager.getString('myResources','submit')}」,並使設計視圖無用。但是當在其他地方聲明綁定時,在actionScript或通過綁定標記時,它是反效果的並且容易出現許多錯誤和遺漏。

命題: 我想創建自己的按鈕,自動調用資源來本地化按鈕標籤。因此,作者在我的按鈕的mxml描述中放入了「Submit」,並在運行時將採用標籤的值,即「submit」並使用resourceManager.getString('myResources','submit')。

但我無法找到重寫設置標籤功能的方式,如果是的話,可以嗎?否則我該怎麼辦?

也許我錯過了一個重要的過程,這將使資源的使用更加優雅,以及如何覆蓋諸如按鈕標籤之類的東西。

感謝您的建議。

回答

2

創建一個名爲MyButton的組件,擴展Button。然後用這個:

override public function set label(value:String):void { 
    super.label = resourceManager.getString('myResources', value) || value; 
} 

假設資源管理器返回「空」或「不確定」這將工作,如果在「爲MyResources」的存在只會替換值。

如果您不想覆蓋您需要執行此操作的每個組件,則可以在每個組件上添加FlexEvent.CREATION_COMPLETE事件。然後使用一個通用函數來完成標籤本地化。

+0

謝謝! 祝您有美好的一天 – 2009-09-25 10:34:34