我有一些由某些組件共享的XML對象。如果該屬性更改,是否可以將BindSetter設置爲特定標記並調用函數?關於XML對象標籤的Flex Bindsetter?
我試過了,但BindSetter調用似乎不接受XML標籤名稱。
當簡單地使用[綁定]和MXML中使用的標籤名稱(如標籤文本=「{} myXMLObject.tagName」)這工作得很好,所以我想這在純AS工作,以及,我只是還沒有想出如何。
任何提示?
根據評論/回答,這裏是我的代碼/用法的一個非常基本的例子。
Flex應用程序中的兩個組件,它們都繼承相同的XML對象;
[Bindable] public var sharedData:XML;
然後在每個組件的creationComplete處理程序中,我調用BindSetter
;
BindingUtils.bindSetter(sharedDataChange, sharedData, "tagName");
sharedDataChange
沒有在這一點上做的任何事情,只是跟蹤該函數被調用。
我得到了一個標籤,顯示sharedData.tagName
的值,一個textInput和一個設置sharedData.tagName = textInput.text
的按鈕。 使用MXML綁定({label.text = sharedData.tagName}
)這工作正常。但是,正如我所說,BindSetter函數似乎沒有檢測到更改。
也許別人可以直接解釋如何做到這一點,但你可能想看看只是做一個-keep來獲得生成的動作,然後使用某種差異查看器來查看兩個簡單的Flex應用程序與唯一的區別是你正在尋找的xml類型綁定之一。你也應該發佈一些代碼。 – shaunhusain 2012-04-05 06:29:46
你可以發佈,你是如何爲'myXMLObject.tagName'編寫'bindSetter'? – Engineer 2012-04-05 06:35:46