Я создаю SWC-файл с помощью Flash CS5, который содержит некоторые компоненты интерфейса, такие как TextInput, Label.А затем я использую его в программе Flex.
Но я сталкиваюсь с проблемой, когда хочу использовать Flex Repeater для этого компонента.
Ниже приведен компонент, определенный мной в файле SWC с использованием Flash.CS.
package {
import fl.controls.TextInput;
......
public dynamic class MyWindow extends UIMovieClip {
public var txt1 : TextInput;
......
}
}
}
Затем я использую его в своей программе flex следующим образом:
<local:MyWindow id="myWindow"/>
<fx:Script>
<![CDATA[
......
private function Init() : void {
myWindow.txt1.text = "myText";
}
......
]]>
</fx:Script>
, она хорошо работает.
Но как я могу напрямую использовать txt1 в mxml?как это:
<local:MyWindow id="myWindow" txt1.text="myText"/>
Я знаю, что это не работает, но я хочу использовать повторитель для создания какого-то похожего MyWindow, ему нужно связать dataProvider.Я написал такой код:
<mx:VBox>
<mx:Repeater x="10" y="10" id="multiWindow">
<local:MyWindow txt1.text="{multiWindow.currentItem}"/>
</mx:Repeater>
</mx:VBox>
Но он не может работать.
Кто-нибудь знает, как заставить его работать?Спасибо.
============================================================================================
Обновить код, многооконный режим завершенкод:
package {
import fl.controls.TextInput;
import mx.flash.UIMovieClip;
import flash.display.DisplayObject;
import flash.events.EventDispatcher;
import flash.display.Sprite;
import flash.display.InteractiveObject;
import flash.display.MovieClip;
import flash.display.DisplayObjectContainer;
public dynamic class MyWindow extends UIMovieClip {
public var txt1 : TextInput;
public var txt2 : TextInput;
public var txt3 : TextInput;
}
}