我在圍繞與其主機組件有關的spark皮膚類中纏繞我的頭時遇到問題。基本上,從我所見過的大多數Flex 4框架中的每個皮膚都看不到在主機組件中動態設置的屬性。相反,他們定義暴露於外觀類的狀態,以定義組件外觀的不同。當你有一個非常簡單的組件和一組標準的狀態時,這是非常好的,而且當你有20個不同的屬性(假設)設置在你的主機組件中,應該改變皮膚的外觀時,它可能非常快速地變得非常複雜。將屬性暴露給Spark皮膚類
我已經看到他們用來解決這個問題的方式是通過覆蓋commit屬性和無效的外觀類中的函數,從那裏獲取他們想要的屬性的值,然後將它們設置爲本地實例化皮膚類中的變量。這很好,但我覺得這只是一個補丁解決方法,它使事情變得比需要的複雜得多。
這是我的問題: 有沒有什麼辦法可以直接從主機組件類暴露一個可綁定的屬性,所以當你定義你的皮膚類時,它可以直接讀取?假設你有一個自定義按鈕,其布爾屬性爲'selected'。在皮膚類中,您希望爲屬性'selected'添加get和set函數,以便您可以在皮膚設置時對其執行一些操作。你如何告訴皮膚類,這是你可以從主機組件中使用的一個可用屬性?
謝謝你試圖解決這個模糊的問題!哈哈......雖然通過提及HostComponent元數據標籤來敲擊頭部......基本上我試圖做的是從主機組件訪問屬性並根據它的值在皮膚上執行操作... I在我的MXML中添加了hostcomponent標籤,但是我錯誤地認爲元數據主機組件標籤會直接將我的主機組件的屬性公開給皮膚......它沒有點擊它只給出一個-reference-它被調用'主機組件',將公開我想要的屬性 –
順便說一句,你完成這項任務的其他過程也是非常好的想法以及我知道的,但它不是點擊,那就是如何實現這些過程 –