隨筆-75  評論-193  文章-5  trackbacks-0
          P984
          Data binding requires a source property, a destination property, and a triggering event that
          indicates when to copy the data from the source to the destination.

          數據綁定需要一個源,一個目標和需要從源拷貝數據到目的一個觸發事件。

          注意:這句話解釋了數據綁定的本質。也引出了下面的一段話。

          You can use all properties of a component as the destination of a data binding expression.
          However, to use a property as the source of a data binding expression,the component must be
          implemented to support data binding, which means that the component dispatches an event
          when the value of the property changes to trigger the binding
          .
          For more information on
          creating component properties that can be used as the source of a data binding expression, see
          “Bindable metadata tag” in Creating and Extending Flex 2 Components.

          上面這段話的關鍵含義在于有下劃線的這一段: 控件必須支持數據綁定,這意味著當屬性改變時控件必須發送一個事件來觸發數據綁定的操作。

          In addition to properties, you can use ActionScript functions as the source of binding
          expressions. You usually do this when using a bindable property as an argument of a function.
          When the property changes, the function executes, and the result is used in the binding
          destination.

          對于實行,可以使用ActionScript的函數做為綁定表達式的源。通常可以使用一個綁定的屬性做為函數的參數,這樣當屬性變化時,函數將會執行,結果就會被綁定的目的使用。

          注:對上面一段話有了初步的理解,不過最好能有一個例子說明,可惜還沒看到:(

          You can also use a property of type Function as a binding source or destination. A property of
          type Function is a variable that holds a reference to a function.

          注:這也是一個說明函數與數據綁定相關的使用方法。
          下面終于就要講到數據綁定的具體使用方法了。

          Binding data with curly braces

          舉例如下:
          <?xml version="1.0"?>
          <mx:Application xmlns:mx="<!-- Data model stores registration data that user enters. -->
          <mx:Model id="reg">
          ???<registration>
          ??????<name>{name.text}</name>
          ??????<email>{email.text}</email>
          ??????<phone>{phone.text}</phone>
          ??????<zip>{zip.text}</zip>
          ??????<ssn>{ssn.text}</ssn>
          ???</registration>
          </mx:Model>
          <!-- Form contains user input controls. -->
          <mx:Form>
          ???<mx:FormItem label="Name" required="true">
          ??????<mx:TextInput id="name" width="200"/>
          ???</mx:FormItem>
          ???<mx:FormItem label="Email" required="true">
          ??????<mx:TextInput id="email" width="200"/>
          ???</mx:FormItem>
          ???<mx:FormItem label="Phone" required="true">
          ??????<mx:TextInput id="phone" width="200"/>
          ???</mx:FormItem>
          ???<mx:FormItem label="Zip" required="true">
          ??????<mx:TextInput id="zip" width="60"/>
          ???</mx:FormItem>
          ???<mx:FormItem label="Social Security" required="true">
          ??????<mx:TextInput id="ssn" width="200"/>
          ???</mx:FormItem>
          ???...
          </mx:Form>
          </mx:Application>

          上面的例子很清楚的說明了使用{}做為數據綁定的用法。不過在上面的例子中使用到了DataModel,關于Data Models請參見?Chapter 38, “Storing Data,” on page 1001。
          主站蜘蛛池模板: 北流市| 冕宁县| 红桥区| 台湾省| 黔南| 新丰县| 介休市| 绍兴县| 贵德县| 河曲县| 公主岭市| 望奎县| 铅山县| 菏泽市| 原阳县| 海南省| 景泰县| 安义县| 济阳县| 德州市| 灌南县| 鄂尔多斯市| 鄢陵县| 龙江县| 阜新| 双峰县| 泰宁县| 凤庆县| 沾化县| 文水县| 禹州市| 城市| 阳新县| 温泉县| 大连市| 兖州市| 大足县| 龙里县| 澎湖县| 桦南县| 双鸭山市|