我們按照這種模式做到這一點:
- 計算在父類中的值創建方法,並使其可綁定與事件。
- 在父項中,爲子集合更改時添加事件偵聽器。爲此,子集合應該是ArrayCollection或類似的。
- 當截取所述變化事件,提高(或有條件提高)附着到在步驟中提到的可綁定元數據的方法中的事件1.
這應當會導致在觀看父的聚集性質的任何UI每次更新孩子時都會更新。
下面是一個例子:
public class Parent
{
private var children:ArrayCollection = new ArrayCollection();
public function Parent()
{
children.addEventListener(
CollectionEvent.COLLECTION_CHANGE,
function(evt:CollectionEvent):void
{
if (...)
{
dispatchEvent(new Event("warningStateChanged"));
}
}
);
}
[Bindable("warningStateChanged")]
public function containsWarnings():Boolean
{
for each (var child:Child in children)
{
if (child.hasWarning)
{
return true;
}
}
return false;
}
}
真的感謝。 我也來解決方案創建一個自定義節點類型與監聽器上的兒童收藏變化事件是必要的。 – spupek 2009-06-18 10:46:45