效果图:
=>WindowSendMessageWith.mxml自定义组件;
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="350" height="230" title="User Manager({_users.length} users)" close="onCloseWind()" creationComplete="initFn()">
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
/**
* 关闭窗口;
*/
protected function onCloseWind():void{
PopUpManager.removePopUp(this);
}
/**
* 初始化组件_如果是弹出窗口就居中显示;
*/
protected function initFn():void{
if(isPopUp) {
PopUpManager.centerPopUp(this);
}
}
[Bindable]
private var _users:Array; // 组件属性;
public function get users():Array{
return _users;
}
public function set users(value:Array):void{
_users = value;
}
]]>
</fx:Script>
<mx:DataGrid id="usersList" width="100%" height="100%" dataProvider="{_users}"/>
</s:TitleWindow>
=>主应用程序
<?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="1024" minHeight="768" pageTitle="TheStudioOfCenyebao"
applicationComplete="initFn()">
<fx:Script>
<![CDATA[
import com.learn.Window.WindowSendMessageWith; // 自定义窗口;
import mx.managers.PopUpManager;
protected var _userWind:WindowSendMessageWith; // 声明组件变量;
/**
* 初始化;
*/
protected function initFn():void{
// 初始化窗体;
_userWind = new WindowSendMessageWith();
}
protected function viewBtn_clickHandler(event:MouseEvent):void
{
PopUpManager.addPopUp(_userWind, this, true); // 打开窗口;
// 数据;
generateData();
}
protected function generateData():void{
var users:Array = new Array();
var totalRecords:uint = Math.round(Math.random()*100);
var name:String;
for(var i:uint=0; i<totalRecords; i++) {
name = "User" + i.toString();
users.push({name: name, email: name+"@lf.com"});
}
_userWind.users = users;
}
]]>
</fx:Script>
<s:Button id="viewBtn" label="查看用户信息" horizontalCenter="0" verticalCenter="0" click="viewBtn_clickHandler(event)"/>
</s:Application>