Flex - 使用 Popup 及 Title Window 達到 modal window 的效果

在 Flex 中並沒有提供 modal window 的 component,故可利用 Popup 及 Title Window 來達到此效果.

1. 首先建立一 Flex MXML Component ,Based on : spark.components.TitleWindow

image

2. 需在 Close Event 中加入 “PopUpManager.removePopup(event.target as IFlexDisplayObject)” 這段程式碼,讓 UI 隱藏起來;Source Code 如下所示:

<?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"
title="Data Source" horizontalCenter="center"
width="360" height="370"
close="closeHandler(event)">
<fx:Script>
<![CDATA[
import mx.core.IFlexDisplayObject;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;

protected function closeHandler(event:CloseEvent):void
{
PopUpManager.removePopUp(event.target as IFlexDisplayObject);
}

]]>
</fx:Script>

<s:layout>
<s:VerticalLayout horizontalAlign="center" verticalAlign="middle" />
</s:layout>

</s:TitleWindow>


3. 在所需使用 modal window 的部份加入下列程式碼:

  <fx:Script>
<![CDATA[

import mx.managers.PopUpManager;

//所建立的 title window component
private var dataSourceWin : DataSource = new DataSource();

protected function dataSourceBtn_clickHandler(event:MouseEvent):void
{
PopUpManager.addPopUp(dataSourceWin, this, true);
PopUpManager.centerPopUp(dataSourceWin);
}

]]>
</fx:Script>

完成上面的部份就可以在 Flex 中實現 modal window,那顯示如下所示:


image

留言

張貼留言

這個網誌中的熱門文章

WPF - 深入 Style

C# – M$ Chart Control 自定 ToolTip 的顯示

Vue.js - 基礎介紹教學