<?xml version="1.0"?>
<!-- binding/DetectWatcher.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
initialize="initWatcher();">
<mx:Script>
<![CDATA[
import mx.binding.utils.*;
import mx.events.FlexEvent;
import mx.events.PropertyChangeEvent;
public var myWatcher:ChangeWatcher;
private var count:Number = 0;
// 定义绑定观察者
public function initWatcher():void {
// 为TextInput 绑定定义一个观察者
//第一个参数:控件对象
//第二个参数:控件对象属性
//第三个参数:控件对象属性改变时的监听者
ChangeWatcher.watch(textarea, "text", watcherListener);
}
// 绑定发生时的事件侦听器。
public function watcherListener(event:Event):void {
count ++;
myTA1.text="binding occurred【" + count +"】";
// 使用 myWatcher.unwatch()去移除绑定观察者。
}
]]>
</mx:Script>
<!-- 定义一个被监控的数据绑定表达式-->
<mx:TextInput id="textinput" text="Hello"/>
<mx:TextArea id="textarea" text="{textinput.text}"/>
<!-- 触发绑定-->
<mx:Button label="Submit" click="textinput.text='Goodbye';"/>
<mx:TextArea id="myTA1"/>
</mx:Application>