ActionScript3.0数据绑定

来源:互联网 发布:软件自动化测试招聘 编辑:程序博客网 时间:2024/06/02 21:33

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
 <s:layout>
  <s:BasicLayout/>
 </s:layout>
 <fx:Declarations>
  <!-- 将非可视元素(例如服务、值对象)放在此处 -->
 </fx:Declarations>
 <fx:Script>
  <![CDATA[
   import mx.binding.utils.BindingUtils;
   import mx.events.FlexEvent;
  
   
   private var str:String="the first is new";
   internal function txt():void{
   trace(this.txt1.text.length);
   }
   
   [Bindable]
   private var max:int=20;
   [Bindable]
   private var min:int=5;
   [Bindable(event="myFlagChanged")]
   private function isEnabled():String{
      if(this.myFlag)
         return "true";
        else
      return "false";
   }
   
   
   private var myFlag:Boolean=false;
   
   internal function clickChange(b:Boolean):void{
     this.myFlag=b;
     dispatchEvent(new Event("myFlagChanged"));
   }
   
   

   protected function lbl1_preinitializeHandler(event:FlexEvent):void
   {
    // TODO Auto-generated method stub
    BindingUtils.bindProperty(lbl1,"text",txt1,"text");
   }
   

  ]]>
 </fx:Script>
 <fx:Binding source="{txt1.text.length>10?txt1.text.substr(0,10):String(txt1.text.length)}" destination="txt2.text" />
 <s:TextInput x="206" y="214" id="txt1" text="{isEnabled()}" />
 <s:TextInput x="206" y="265" id="txt2"  text="{min}"/>
 <s:Label x="294" y="324"  id="lbl1" preinitialize="lbl1_preinitializeHandler(event)"/>
 <s:Button x="154" y="324" label="按钮" click="clickChange(true)"/>

 
</s:Application>

原创粉丝点击